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);
            }
        }
Example #2
0
        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("*****@*****.**");
        }
Example #3
0
        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);
        }