I have a model class as follows:
case class UserEmail(id: Muid,
audit: AuditMetadata,
email: String,
emailVerified: Boolean,
emailVerificationCodeId: Muid,
emailVerificationSentDate: Option[DateTime]) {
...
}
And I am trying to play with a unit tests for it:
class UserEmailSpec extends Specification with Mockito {
"UserEmail Model test" should {
"return correct values when properly constructed" in {
val muid = mock[Muid]
val auditMetadata = mock[AuditMetadata]
val verCode = mock[Muid]
val verCodeSentDate = DateTime.now()
val userEmail = new UserEmail(muid, auditMetadata, "name@email.com", true, verCode, verCodeSentDate)
userEmail.emailVerified must beTrue
userEmail.emailVerificationSentDate must beAnInstanceOf[DateTime]
}
}
}
At this point, I am getting a following error:
#.../UserEmailSpec.scala:24: type mismatch;
[error] found : org.joda.time.DateTime
[error] required: Option[org.joda.time.DateTime]
[error] val userEmail = new UserEmail(muid, auditMetadata, "name@email.com", true, verCode, verCodeSentDate)
[error] ^
[error] one error found
[error] (test:compile) Compilation failed
[error] Total time: 6 s, completed Dec 12, 2015 1:04:46 AM
I also tried mocking the DateTime object and got the same result. The only condition in which this thing works, is if I am passing null as emailVerificationSentDate.
What am I missing.