public async Task HandleAsync_GivenSiteAddressDataInRequest_AddressDataShouldBeOfTypeSiteAddressData()
        {
            var request = CreateRequest();

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

            A.CallTo(() => genericDataAccess.GetById <AatfAddress>(request.SiteAddressData.Id)).Returns(value);
            A.CallTo(() => organisationDetailsDataAccess.FetchCountryAsync(request.SiteAddressData.CountryId)).Returns(country);

            await handler.HandleAsync(request);

            A.CallTo(() => offSiteDataAccess.Update(value, A <SiteAddressData> ._, country)).MustHaveHappened(Repeated.Exactly.Once);
        }
        public async Task HandleAsync_NoExternalAccess_ThrowsSecurityException()
        {
            var authorization = new AuthorizationBuilder().DenyExternalAreaAccess().Build();

            var handler = new EditSentOnAatfSiteHandler(authorization, genericDataAccess, organisationDetailsDataAccess, offSiteDataAccess);

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

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