public void Query_IntCtor_SetsIdProperty() { var id = FakeData.Id(); var query = new EmailAddressBy(id); query.Id.ShouldEqual(id); query.Value.ShouldBeNull(); query.Claim.ShouldBeNull(); }
public void Handler_ReturnsNullEmailAddress_WhenNotFound_ById() { var emailAddressId = FakeData.Id(); var data = new[] { new ProxiedEmailAddress(FakeData.Id(canNotBe: emailAddressId)) }.AsQueryable(); var query = new EmailAddressBy(emailAddressId); 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.ShouldBeNull(); 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_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_ReturnsNullEmailAddress_WhenClaimType_IsNotEmail_ByClaim() { var emailAddressValue = FakeData.Email(); var claim = new Claim(ClaimTypes.NameIdentifier, emailAddressValue); var emailAddress = new EmailAddress { Value = emailAddressValue, }; var data = new[] { emailAddress }.AsQueryable(); var query = new EmailAddressBy(claim); 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.ShouldBeNull(); entities.Verify(x => x.Query<EmailAddress>(), Times.Once); }
public void Query_ClaimCtor_SetsClaimProperty() { var claim = new Claim("claim type", "claim value"); var query = new EmailAddressBy(claim); query.Id.ShouldBeNull(); query.Value.ShouldBeNull(); query.Claim.ShouldEqual(claim); }
public void Handler_ReturnsNullEmailAddress_WhenFound_ByValue_ButIsVerifiedDoesNotMatch(bool isVerified) { var emailAddressValue = FakeData.Email(); var emailAddress = new EmailAddress { Value = emailAddressValue, IsVerified = !isVerified, }; var data = new[] { emailAddress }.AsQueryable(); var query = new EmailAddressBy(emailAddressValue) { IsVerified = isVerified, }; 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.ShouldBeNull(); entities.Verify(x => x.Query<EmailAddress>(), Times.Once); }
public void Query_StringCtor_SetsValueProperty() { var value = FakeData.Email(); var query = new EmailAddressBy(value); query.Id.ShouldBeNull(); query.Value.ShouldEqual(value); query.Claim.ShouldBeNull(); }