public async void UpdateDetails_GivenDetailsToUpdate_ContextShouldContainUpdatedDetails() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var country = await context.Countries.SingleAsync(c => c.Name == "France"); var aatfAddress = new AatfContact("FirstName", "LastName", "Position", "Address1", "Address2", "Town", "County", "PO12ST34", country, "Telephone", "Email"); var dataAccess = new AatfDataAccess(context, new GenericDataAccess(database.WeeeContext), quarterWindowFactory); var aatfId = await CreateContact(database, aatfAddress); var oldContact = context.Aatfs.First(a => a.Id == aatfId).Contact; var newAddressData = new AatfContactAddressData(null, "Address11", "Address21", "Town1", "County1", "PO12ST341", country.Id, country.Name); var newContact = new AatfContactData(A.Dummy <Guid>(), "FirstName1", "LastName1", "Position1", newAddressData, "Telephone1", "Email1"); var newCountry = await context.Countries.SingleAsync(c => c.Name == "Germany"); await dataAccess.UpdateContact(oldContact, newContact, newCountry); AssertUpdated(context, aatfId, newContact, newCountry); } }
public void Map_GivenSource_ContactDataIsMapped() { Guid countryId = Guid.NewGuid(); string countryName = "Country"; AatfContactAddressData addressData = new AatfContactAddressData("Name", "Address1", "Address2", "Town", "County", "Postcode", countryId, countryName); var aatfContact = new AatfContactData( Guid.NewGuid(), "First Name", "Last Name", "Position", addressData, "01234 567890", "*****@*****.**"); var result = map.Map(aatfContact); result.FirstName.Should().Be("First Name"); result.LastName.Should().Be("Last Name"); result.Position.Should().Be("Position"); result.Address1.Should().Be("Address1"); result.Address2.Should().Be("Address2"); result.TownOrCity.Should().Be("Town"); result.CountyOrRegion.Should().Be("County"); result.Postcode.Should().Be("Postcode"); result.CountryId.Should().Be(countryId); result.Telephone.Should().Be("01234 567890"); result.Email.Should().Be("*****@*****.**"); }
public AatfContactData Map(AatfContact source) { if (source != null) { var addressData = new AatfContactAddressData(null, source.Address1, source.Address2, source.TownOrCity, source.CountyOrRegion, source.Postcode, source.Country.Id, source.Country.Name); return(new AatfContactData( source.Id, source.FirstName, source.LastName, source.Position, addressData, source.Telephone, source.Email)); } else { return(new AatfContactData()); } }
public async Task HandleAsync_GivenMessageContainingUpdatedAddress_DetailsAreUpdatedCorrectly() { var addressData = new AatfContactAddressData() { Address1 = "Address1", Address2 = "Address2", TownOrCity = "Town", CountyOrRegion = "County", Postcode = "Postcode", CountryId = Guid.NewGuid() }; var updateRequest = new EditAatfContact( Guid.NewGuid(), new AatfContactData() { FirstName = "First Name", LastName = "Last Name", Position = "Position", AddressData = addressData, Telephone = "01234 567890", Email = "*****@*****.**", Id = Guid.NewGuid() }); var returnContact = A.Fake <AatfContact>(); var country = new Country(A.Dummy <Guid>(), A.Dummy <string>()); A.CallTo(() => this.organisationDetailsDataAccess.FetchCountryAsync(updateRequest.ContactData.AddressData.CountryId)).Returns(country); A.CallTo(() => this.genericDataAccess.GetById <AatfContact>(updateRequest.ContactData.Id)).Returns(returnContact); await this.handler.HandleAsync(updateRequest); A.CallTo(() => this.aatfDataAccess.UpdateContact(returnContact, updateRequest.ContactData, country)).MustHaveHappened(Repeated.Exactly.Once); }