public async Task HandleAsync_GivenMessageContainingUpdatedAddress_DetailsAreUpdatedCorrectly()
        {
            var updateRequest = new EditAatfSite()
            {
                AddressData = new SiteAddressData()
                {
                    Name           = "Name",
                    Address1       = "Address1",
                    Address2       = "Address2",
                    TownOrCity     = "Town",
                    CountyOrRegion = "County",
                    Postcode       = "Postcode",
                    CountryId      = Guid.NewGuid(),
                    Id             = Guid.NewGuid()
                }
            };

            var returnAdress = A.Fake <AatfAddress>();

            var country = new Country(A.Dummy <Guid>(), A.Dummy <string>());

            A.CallTo(() => organisationDetailsDataAccess.FetchCountryAsync(updateRequest.AddressData.CountryId)).Returns(country);
            A.CallTo(() => genericDataAccess.GetById <AatfAddress>(updateRequest.AddressData.Id)).Returns(returnAdress);

            await handler.HandleAsync(updateRequest);

            A.CallTo(() => aatfSiteDataAccess.Update(returnAdress, updateRequest.AddressData, country)).MustHaveHappened(Repeated.Exactly.Once);
        }
        public async Task HandleAsync_NoExternalAccess_ThrowsSecurityException()
        {
            var authorization = new AuthorizationBuilder().DenyExternalAreaAccess().Build();

            var handler = new EditAatfSiteHandler(weeeContext, authorization, aatfSiteDataAccess, genericDataAccess, organisationDetailsDataAccess);

            Func <Task> action = async() => await handler.HandleAsync(A.Dummy <EditAatfSite>());

            await action.Should().ThrowAsync <SecurityException>();
        }