public void Handler_ReturnsNonNullEmailAddress_WhenFound_ByClaim_AndIsVerified_IsEqual( bool?isQueryVerified, bool isEntityVerified) { var emailAddressValue = FakeData.Email(); var claim = new Claim(ClaimTypes.Email, emailAddressValue); var emailAddress = new EmailAddress { Value = emailAddressValue, IsVerified = isEntityVerified, }; var data = new[] { emailAddress }.AsQueryable(); var query = new EmailAddressBy(claim) { IsVerified = isQueryVerified, }; var dbSet = new Mock <DbSet <EmailAddress> >(MockBehavior.Strict).SetupDataAsync(data); var entities = new Mock <IReadEntities>(MockBehavior.Strict); var entitySet = new EntitySet <EmailAddress>(dbSet.Object, entities.Object); entities.Setup(x => x.Query <EmailAddress>()).Returns(entitySet); var handler = new HandleEmailAddressByQuery(entities.Object); EmailAddress result = handler.Handle(query).Result; result.ShouldNotBeNull(); result.ShouldEqual(data.Single()); entities.Verify(x => x.Query <EmailAddress>(), Times.Once); }
public void Handler_ReturnsNonNullEmailAddress_WhenFound_ById_AndIsVerifiedMatches( bool?queryIsVerified, bool entityIsVerified) { var emailAddressId = FakeData.Id(); var emailAddress = new ProxiedEmailAddress(emailAddressId) { IsVerified = entityIsVerified, }; var data = new[] { emailAddress }.AsQueryable(); var query = new EmailAddressBy(emailAddressId) { IsVerified = queryIsVerified, }; var dbSet = new Mock <DbSet <EmailAddress> >(MockBehavior.Strict).SetupDataAsync(data); var entities = new Mock <IReadEntities>(MockBehavior.Strict); var entitySet = new EntitySet <EmailAddress>(dbSet.Object, entities.Object); entities.Setup(x => x.Query <EmailAddress>()).Returns(entitySet); var handler = new HandleEmailAddressByQuery(entities.Object); EmailAddress result = handler.Handle(query).Result; result.ShouldNotBeNull(); result.ShouldEqual(data.Single()); entities.Verify(x => x.Query <EmailAddress>(), Times.Once); }
public void Handler_ReturnsNonNullEmailAddress_WhenFound_ByValue_AndIsVerifiedMatches( bool?isQueryVerified, bool isEntityVerified) { var emailAddressValue = string.Format("{0}@domain.tld", Guid.NewGuid()); var emailAddress = new EmailAddress { Value = emailAddressValue, IsVerified = isEntityVerified, }; var data = new[] { emailAddress }.AsQueryable(); var query = new EmailAddressBy(emailAddressValue) { IsVerified = isQueryVerified, }; var dbSet = new Mock <DbSet <EmailAddress> >(MockBehavior.Strict).SetupDataAsync(data); var entities = new Mock <IReadEntities>(MockBehavior.Strict); var entitySet = new EntitySet <EmailAddress>(dbSet.Object, entities.Object); entities.Setup(x => x.Query <EmailAddress>()).Returns(entitySet); var handler = new HandleEmailAddressByQuery(entities.Object); EmailAddress result = handler.Handle(query).Result; result.ShouldNotBeNull(); result.ShouldEqual(data.Single()); entities.Verify(x => x.Query <EmailAddress>(), Times.Once); }