public DeleteContactDetailsByTargetIdTests(MockWebApplicationFactory <Startup> appFactory) { _dbFixture = appFactory.DynamoDbFixture; _snsFixture = appFactory.SnsFixture; _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext, _snsFixture.SimpleNotificationService); _steps = new DeleteContactDetailsSteps(appFactory.Client); }
public CreateContactTests(MockWebApplicationFactory <Startup> appFactory) { _dbFixture = appFactory.DynamoDbFixture; _snsFixture = appFactory.SnsFixture; _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext); _steps = new CreateContactSteps(appFactory.Client); }
public async Task ThenTheContactDetailsDeletedEventIsRaised(ContactDetailsFixture contactDetailsFixture, ISnsFixture snsFixture) { var deletedRecord = contactDetailsFixture.Contacts.First(); Action <ContactDetailsSns> verifyFunc = (actual) => { actual.CorrelationId.Should().NotBeEmpty(); actual.DateTime.Should().BeCloseTo(DateTime.UtcNow, 1000); actual.EntityId.Should().Be(deletedRecord.TargetId); actual.EventData.OldData.ContactType.Should().Be((int)deletedRecord.ContactInformation.ContactType); actual.EventData.OldData.Description.Should().Be(deletedRecord.ContactInformation.Description); actual.EventData.OldData.Id.Should().Be(deletedRecord.Id); actual.EventData.OldData.Value.Should().Be(deletedRecord.ContactInformation.Value); actual.EventData.NewData.Should().BeEquivalentTo(new DataItem()); actual.EventType.Should().Be(EventConstants.DELETED); actual.Id.Should().NotBeEmpty(); actual.SourceDomain.Should().Be(EventConstants.SOURCEDOMAIN); actual.SourceSystem.Should().Be(EventConstants.SOURCESYSTEM); actual.User.Email.Should().Be("*****@*****.**"); actual.User.Name.Should().Be("Tester"); actual.Version.Should().Be(EventConstants.V1VERSION); }; var snsVerifer = snsFixture.GetSnsEventVerifier <ContactDetailsSns>(); var snsResult = await snsVerifer.VerifySnsEventRaised(verifyFunc); if (!snsResult && snsVerifer.LastException != null) { throw snsVerifer.LastException; } }
public async Task ThenTheContactDetailsAreSavedAndReturned(ContactDetailsFixture fixture) { var expected = fixture.ContactRequestObject; var apiResult = await ExtractResultFromHttpResponse(_lastResponse).ConfigureAwait(false); var resultAsDb = ResponseToDatabase(apiResult); fixture.Contacts.Add(resultAsDb); expected.Should().BeEquivalentTo(apiResult, config => { return(config.Excluding(x => x.Id) .Excluding(y => y.CreatedBy) .Excluding(y => y.IsActive) .Excluding(y => y.ContactInformation)); }); apiResult.Id.Should().NotBeEmpty(); apiResult.IsActive.Should().BeTrue(); apiResult.CreatedBy.Should().BeEquivalentTo(GetToken(Jwt).ToCreatedBy(), config => config.Excluding(x => x.CreatedAt)); apiResult.CreatedBy.CreatedAt.Should().BeCloseTo(DateTime.UtcNow, 1000); var dbEntity = await fixture._dbContext.LoadAsync <ContactDetailsEntity>(apiResult.TargetId, apiResult.Id).ConfigureAwait(false); dbEntity.Should().BeEquivalentTo(resultAsDb, config => config.Excluding(x => x.LastModified)); dbEntity.LastModified.Should().BeCloseTo(DateTime.UtcNow, 500); }
public async Task ThenTheContactDetailsAreDeleted(ContactDetailsFixture contactDetailsFixture) { var result = await contactDetailsFixture._dbContext.LoadAsync <ContactDetailsEntity>(contactDetailsFixture.TargetId, contactDetailsFixture.Contacts.First().Id) .ConfigureAwait(false); result.IsActive.Should().BeFalse(); result.LastModified.Should().BeCloseTo(DateTime.UtcNow, 500); }
public async Task TheMultilineAddressIsSavedInTheValueField(ContactDetailsFixture fixture) { var expected = fixture.ContactRequestObject; var apiResult = await ExtractResultFromHttpResponse(_lastResponse).ConfigureAwait(false); var dbEntity = await fixture._dbContext.LoadAsync <ContactDetailsEntity>(apiResult.TargetId, apiResult.Id).ConfigureAwait(false); dbEntity.ContactInformation.ContactType.Should().Be(ContactType.address); // assert multiline address saved in value field dbEntity.ContactInformation.Value.Should().Contain(expected.ContactInformation.AddressExtended.AddressLine1); dbEntity.ContactInformation.Value.Should().Contain(expected.ContactInformation.AddressExtended.AddressLine2); dbEntity.ContactInformation.Value.Should().Contain(expected.ContactInformation.AddressExtended.AddressLine3); dbEntity.ContactInformation.Value.Should().Contain(expected.ContactInformation.AddressExtended.AddressLine4); dbEntity.ContactInformation.Value.Should().Contain(expected.ContactInformation.AddressExtended.PostCode); }
public GetContactDetailsByTargetIdTests(MockWebApplicationFactory <Startup> appFactory) { _dbFixture = appFactory.DynamoDbFixture; _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext); _steps = new GetContactDetailsSteps(appFactory.Client); }