Esempio n. 1
0
        public async void IndexGet_OnSingleAatf_PageRedirectsContactDetails()
        {
            var organisationId = Guid.NewGuid();
            var aatfList       = new List <AatfData>();

            var aatfData = new AatfData(Guid.NewGuid(), "AATF", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                        AatfStatus.Approved, A.Dummy <AatfAddressData>(), AatfSize.Large, DateTime.Now,
                                        A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Aatf
            };

            aatfList.Add(aatfData);

            var model = new HomeViewModel()
            {
                AatfList = aatfList
            };

            A.CallTo(() => apiClient.SendAsync(A <string> ._, A <GetAatfByOrganisation> ._)).Returns(aatfList);
            A.CallTo(() => mapper.Map(A <AatfDataToHomeViewModelMapTransfer> ._)).Returns(model);

            var result = await controller.Index(organisationId, fixture.Create <FacilityType>()) as RedirectToRouteResult;

            result.RouteValues["action"].Should().Be("Index");
            result.RouteValues["controller"].Should().Be("ContactDetails");
            result.RouteValues["organisationId"].Should().Be(organisationId);
        }
Esempio n. 2
0
        public async Task CopyAatfPost_ValidViewModel_CorrectAatfIdShouldBeSet()
        {
            var viewModel = new CopyAatfViewModel()
            {
                Name                     = "name",
                ApprovalNumber           = "123",
                ApprovalDate             = DateTime.Now,
                SiteAddressData          = A.Fake <AatfAddressData>(),
                SizeValue                = 1,
                StatusValue              = 1,
                OrganisationId           = Guid.NewGuid(),
                ContactData              = A.Fake <AatfContactData>(),
                CompetentAuthoritiesList = A.Fake <List <UKCompetentAuthorityData> >(),
                CompetentAuthorityId     = Guid.NewGuid().ToString(),
                PanAreaList              = A.Fake <List <PanAreaData> >(),
                PanAreaId                = Guid.NewGuid(),
                LocalAreaList            = A.Fake <List <LocalAreaData> >(),
                LocalAreaId              = Guid.NewGuid(),
                ComplianceYear           = (Int16)2019,
                AatfId                   = Guid.NewGuid()
            };

            var aatf = new AatfData(
                Guid.NewGuid(),
                viewModel.Name,
                viewModel.ApprovalNumber,
                viewModel.ComplianceYear,
                viewModel.CompetentAuthoritiesList.FirstOrDefault(p => p.Id == Guid.Parse(viewModel.CompetentAuthorityId)),
                Enumeration.FromValue <AatfStatus>(viewModel.StatusValue),
                viewModel.SiteAddressData,
                Enumeration.FromValue <AatfSize>(viewModel.SizeValue),
                viewModel.ApprovalDate.GetValueOrDefault(),
                viewModel.PanAreaList.FirstOrDefault(p => p.Id == viewModel.PanAreaId),
                viewModel.LocalAreaList.FirstOrDefault(p => p.Id == viewModel.LocalAreaId));

            aatf.Contact = viewModel.ContactData;

            A.CallTo(() => mapper.Map <CopyAatfViewModel>(aatf)).Returns(viewModel);

            var validationResult = new ValidationResult();

            A.CallTo(() => validationWrapper.ValidateByYear(A <string> ._, viewModel, viewModel.ComplianceYear)).Returns(validationResult);
            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1));

            var result = await controller.CopyAatfDetails(viewModel);

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <AddAatf> .That.Matches(
                                                    p => p.OrganisationId == viewModel.OrganisationId &&
                                                    p.AatfId == viewModel.AatfId &&
                                                    p.Aatf.Name == aatf.Name &&
                                                    p.Aatf.ApprovalNumber == aatf.ApprovalNumber &&
                                                    p.Aatf.CompetentAuthority == aatf.CompetentAuthority &&
                                                    p.Aatf.PanAreaData == aatf.PanAreaData &&
                                                    p.Aatf.LocalAreaData == aatf.LocalAreaData &&
                                                    p.Aatf.AatfStatus == aatf.AatfStatus &&
                                                    p.Aatf.SiteAddress == aatf.SiteAddress &&
                                                    p.Aatf.Size == aatf.Size &&
                                                    p.Aatf.ApprovalDate == aatf.ApprovalDate &&
                                                    p.AatfContact == viewModel.ContactData))).MustHaveHappened(Repeated.Exactly.Once);
        }
        public void Map_GivenListOfAatfs_ContactDetailsNameIsBuilt()
        {
            var organisationId = Guid.NewGuid();
            var aatfList       = new List <AatfData>();

            var aatfData = new AatfData(Guid.NewGuid(), "AATF", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                        Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                        A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Aatf
            };

            aatfList.Add(aatfData);

            var transfer = new AatfDataToHomeViewModelMapTransfer()
            {
                OrganisationId = organisationId, AatfList = aatfList, FacilityType = fixture.Create <FacilityType>()
            };

            var result = map.Map(transfer);

            foreach (var aatf in result.AatfList)
            {
                aatf.AatfContactDetailsName.Should().Be(aatf.Name + " (" + aatf.ApprovalNumber + ") - " + aatf.AatfStatus);
            }
        }
Esempio n. 4
0
        public async Task CopyAePost_ValidViewModel_CacheShouldBeInvalidated()
        {
            Guid orgId = Guid.NewGuid();
            IList <UKCompetentAuthorityData> competentAuthorities = fixture.CreateMany <UKCompetentAuthorityData>().ToList();
            var viewModel = CreateCopyAeViewModel();

            viewModel.StatusValue    = 1;
            viewModel.SizeValue      = 1;
            viewModel.ComplianceYear = 2019;
            viewModel.Name           = "Name";

            var request = fixture.Create <AddAatf>();

            var aatf = new AatfData()
            {
                Id = viewModel.Id,

                Organisation = new OrganisationData()
                {
                    Id = viewModel.OrganisationId
                }
            };

            A.CallTo(() => mapper.Map <CopyAeViewModel>(aatf)).Returns(viewModel);

            A.CallTo(() => weeeClient.SendAsync(A <string> .Ignored, request)).Returns(true);

            var validationResult = new ValidationResult();

            A.CallTo(() => validationWrapper.ValidateByYear(A <string> ._, viewModel, viewModel.ComplianceYear)).Returns(validationResult);

            var result = await controller.CopyAeDetails(viewModel);

            A.CallTo(() => cache.InvalidateAatfCache(viewModel.OrganisationId)).MustHaveHappenedOnceExactly();
        }
Esempio n. 5
0
 private static void AssertResults(AatfData aatfData, AatfDetailsViewModel result)
 {
     Assert.Equal(aatfData.Id, result.Id);
     Assert.Equal(aatfData.Name, result.Name);
     Assert.Equal(aatfData.ApprovalNumber, result.ApprovalNumber);
     Assert.Equal(aatfData.CompetentAuthority, result.CompetentAuthority);
     Assert.Equal(aatfData.AatfStatus, result.AatfStatus);
     Assert.Equal(aatfData.SiteAddress, result.SiteAddress);
     Assert.Equal(aatfData.Size, result.Size);
     Assert.Equal(aatfData.Contact, result.ContactData);
     Assert.Equal(aatfData.Organisation.Name, result.Organisation.Name);
     Assert.Equal(aatfData.Organisation.TradingName, result.Organisation.TradingName);
     Assert.Equal(aatfData.Organisation.CompanyRegistrationNumber, result.Organisation.CompanyRegistrationNumber);
     Assert.Equal(aatfData.Organisation.BusinessAddress.Address1, result.Organisation.BusinessAddress.Address1);
     Assert.Equal(aatfData.Organisation.BusinessAddress.Address2, result.Organisation.BusinessAddress.Address2);
     Assert.Equal(aatfData.Organisation.BusinessAddress.CountyOrRegion, result.Organisation.BusinessAddress.CountyOrRegion);
     Assert.Equal(aatfData.Organisation.BusinessAddress.CountryName, result.Organisation.BusinessAddress.CountryName);
     Assert.Equal(aatfData.Organisation.BusinessAddress.TownOrCity, result.Organisation.BusinessAddress.TownOrCity);
     Assert.Equal(aatfData.Organisation.BusinessAddress.Postcode, result.Organisation.BusinessAddress.Postcode);
     Assert.Equal(aatfData.Organisation.BusinessAddress.Telephone, result.Organisation.BusinessAddress.Telephone);
     Assert.Equal(aatfData.Organisation.BusinessAddress.Email, result.Organisation.BusinessAddress.Email);
     Assert.Equal(aatfData.FacilityType, result.FacilityType);
     Assert.Equal(aatfData.LocalAreaData, result.LocalArea);
     Assert.Equal(aatfData.PanAreaData, result.PanArea);
     Assert.Equal(aatfData.AatfId, result.AatfId);
     Assert.Equal(aatfData.ComplianceYear, result.SelectedComplianceYear);
 }
Esempio n. 6
0
 public static T MapCopyFacility <T>(T viewModel, AatfData source)
     where T : CopyFacilityViewModelBase
 {
     viewModel.Id                   = source.Id;
     viewModel.Name                 = source.Name;
     viewModel.ApprovalNumber       = source.ApprovalNumber;
     viewModel.CompetentAuthorityId = source.CompetentAuthority.Abbreviation;
     viewModel.StatusValue          = source.AatfStatus.Value;
     viewModel.StatusList           = Enumeration.GetAll <AatfStatus>();
     viewModel.SiteAddressData      = source.SiteAddress;
     viewModel.SizeValue            = source.Size.Value;
     viewModel.SizeList             = Enumeration.GetAll <AatfSize>();
     viewModel.FacilityType         = source.FacilityType;
     if (source.PanAreaData != null)
     {
         viewModel.PanAreaId = source.PanAreaData.Id;
     }
     if (source.LocalAreaData != null)
     {
         viewModel.LocalAreaId = source.LocalAreaData.Id;
     }
     if (source.ApprovalDate != default(DateTime))
     {
         viewModel.ApprovalDate = source.ApprovalDate.GetValueOrDefault();
     }
     viewModel.AatfId      = source.AatfId;
     viewModel.ContactData = source.Contact;
     return(viewModel);
 }
        public EditAatfDetails ViewModelToRequest(FacilityViewModelBase viewModel)
        {
            var data = new AatfData(
                viewModel.Id,
                viewModel.Name,
                viewModel.ApprovalNumber,
                viewModel.ComplianceYear,
                viewModel.CompetentAuthoritiesList.FirstOrDefault(p => p.Abbreviation == viewModel.CompetentAuthorityId),
                Enumeration.FromValue <AatfStatus>(viewModel.StatusValue),
                viewModel.SiteAddressData,
                Enumeration.FromValue <AatfSize>(viewModel.SizeValue),
                viewModel.ApprovalDate.GetValueOrDefault())
            {
                AatfSizeValue = viewModel.SizeValue, AatfStatusValue = viewModel.StatusValue
            };

            if (viewModel.CompetentAuthorityId != UKCompetentAuthorityAbbreviationType.EA)
            {
                data.PanAreaDataId   = null;
                data.LocalAreaDataId = null;
            }
            else
            {
                data.PanAreaDataId   = viewModel.PanAreaId;
                data.LocalAreaDataId = viewModel.LocalAreaId;
            }

            data.FacilityType = viewModel.FacilityType;

            return(new EditAatfDetails()
            {
                Data = data
            });
        }
Esempio n. 8
0
        public async Task CopyAePost_ValidViewModel_ReturnsRedirect()
        {
            Guid orgId     = Guid.NewGuid();
            var  viewModel = CreateCopyAeViewModel();

            viewModel.StatusValue    = 1;
            viewModel.SizeValue      = 1;
            viewModel.ComplianceYear = 2019;
            viewModel.Name           = "Name";

            var request = fixture.Create <AddAatf>();

            var aatf = new AatfData()
            {
                Id = viewModel.Id,

                Organisation = new OrganisationData()
                {
                    Id = viewModel.OrganisationId
                }
            };

            A.CallTo(() => mapper.Map <CopyAeViewModel>(aatf)).Returns(viewModel);

            var validationResult = new ValidationResult();

            A.CallTo(() => validationWrapper.ValidateByYear(A <string> ._, viewModel, viewModel.ComplianceYear)).Returns(validationResult);

            var result = await controller.CopyAeDetails(viewModel) as RedirectToRouteResult;

            result.RouteValues["action"].Should().Be("ManageAatfs");
            result.RouteValues["controller"].Should().Be("Aatf");
        }
Esempio n. 9
0
        private async Task SetBreadcrumb(AatfData aatf)
        {
            this.breadcrumb.ExternalOrganisation = await this.cache.FetchOrganisationName(aatf.Organisation.Id);

            this.breadcrumb.ExternalAatf     = aatf;
            this.breadcrumb.ExternalActivity = string.Format(AatfAction.ManageAatfContactDetails, aatf.FacilityType.ToDisplayString());
            this.breadcrumb.OrganisationId   = aatf.Organisation.Id;
        }
Esempio n. 10
0
        public AddressTonnageSummaryToReusedOffSiteSummaryListViewModelMapTests()
        {
            var fixture = new Fixture();

            map                   = new AddressTonnageSummaryToReusedOffSiteSummaryListViewModelMap(new TonnageUtilities());
            testAatf              = fixture.Build <AatfData>().WithAutoProperties().Create();
            testAddressDataList   = new List <SiteAddressData>();
            testObligatedDataList = new List <WeeeObligatedData>();
        }
Esempio n. 11
0
        public void Map_GivenValidSource_PropertiesShouldBeMapped()
        {
            AatfData aatfData  = CreateAatfData();
            var      viewmodel = CreateCopyFacilityViewModel(new CopyAatfViewModel(), aatfData);

            var result = MappingHelper.MapCopyFacility(viewmodel, aatfData);

            AssertResults(aatfData, result);
            Assert.Equal(aatfData.LocalAreaData.Id, result.LocalAreaId);
            Assert.Equal(aatfData.PanAreaData.Id, result.PanAreaId);
        }
Esempio n. 12
0
        public async Task HandleAsync_GivenAatfCanBeCopied_OriginalAatfShouldNotBeChanged()
        {
            using (var databaseWrapper = new DatabaseWrapper())
            {
                var organisation = EA.Weee.Domain.Organisation.Organisation.CreatePartnership("trading");

                var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(databaseWrapper, organisation);

                var competentAuthority = new Core.Shared.UKCompetentAuthorityData()
                {
                    Id           = databaseWrapper.WeeeContext.UKCompetentAuthorities.First().Id,
                    Abbreviation = databaseWrapper.WeeeContext.UKCompetentAuthorities.First().Abbreviation
                };

                var country = await databaseWrapper.WeeeContext.Countries.SingleAsync(c => c.Name == "France");

                var newContact = A.Dummy <AatfContactData>();
                var contact    = new AatfContact("FirstName1", "LastName1", "Position1", "Address11", "Address21", "Town1", "County1", "PO12ST341", country, "Telephone1", "Email1");

                var siteAddress = A.Dummy <AatfAddressData>();
                var aatfAddress = new AatfAddress("Site name", "Site address 1", "Site address 2", "Site town", "Site county", "GU22 7UY", country);

                var aatfdata = new AatfData(Guid.NewGuid(), aatf.Name, aatf.ApprovalNumber, 2020,
                                            competentAuthority,
                                            Core.AatfReturn.AatfStatus.Approved, siteAddress, Core.AatfReturn.AatfSize.Large, DateTime.Parse("01/01/2020"),
                                            null, null)
                {
                    FacilityType = Core.AatfReturn.FacilityType.Aatf
                };

                databaseWrapper.WeeeContext.Aatfs.Add(aatf);

                await databaseWrapper.WeeeContext.SaveChangesAsync();

                A.CallTo(() => addressMapper.Map(siteAddress)).Returns(aatfAddress);

                A.CallTo(() => contactMapper.Map(newContact)).Returns(contact);

                var message = new AddAatf()
                {
                    Aatf           = aatfdata,
                    OrganisationId = organisation.Id,
                    AatfId         = aatf.AatfId,
                    AatfContact    = newContact
                };

                await Handler(databaseWrapper).HandleAsync(message);

                databaseWrapper.WeeeContext.Aatfs.Where(a => a.Id == aatf.Id).Should().NotBeEmpty();
                databaseWrapper.WeeeContext.Aatfs.Where(a => a.AatfId == aatf.AatfId).Count().Should().Be(2);
                databaseWrapper.WeeeContext.Aatfs.Where(a => a.Id == aatf.Id && a.ComplianceYear == 2019).Should().NotBeEmpty();
                databaseWrapper.WeeeContext.Aatfs.Where(a => a.AatfId == aatf.AatfId && a.ComplianceYear == 2020).Count().Should().Be(1);
            }
        }
 private static void AssertResults(AatfData aatfData, CopyAeViewModel result, string competentAuthorityId)
 {
     Assert.Equal(aatfData.Id, result.Id);
     Assert.Equal(aatfData.Name, result.Name);
     Assert.Equal(aatfData.ApprovalNumber, result.ApprovalNumber);
     Assert.Equal(aatfData.SiteAddress, result.SiteAddressData);
     Assert.Equal(competentAuthorityId, result.CompetentAuthorityId);
     Assert.Equal(AatfStatus.Approved.Value, result.StatusValue);
     Assert.Equal(AatfSize.Large.Value, result.SizeValue);
     Assert.Equal(FacilityType.Ae, result.FacilityType);
 }
Esempio n. 14
0
        public void Map_GivenValidSource_WithApprovalDate_PropertiesShouldBeMapped()
        {
            AatfData aatfData = CreateAatfData();

            var transfer = new AatfDataToAatfDetailsViewModelMapTransfer(aatfData);

            AatfDetailsViewModel result = map.Map(transfer);

            AssertResults(aatfData, result);
            Assert.NotNull(result.ApprovalDate);
        }
Esempio n. 15
0
        private async Task <T> PopulateAndReturnViewModel <T>(AatfData facility)
            where T : CopyFacilityViewModelBase
        {
            var viewModel = mapper.Map <T>(facility);

            viewModel.OrganisationId = facility.Organisation.Id;
            viewModel.AatfId         = facility.AatfId;
            viewModel = await PopulateViewModelLists(viewModel);

            return(viewModel);
        }
Esempio n. 16
0
 private T CreateCopyFacilityViewModel <T>(T viewModel, AatfData aatfData)
     where T : CopyFacilityViewModelBase
 {
     viewModel.ContactData     = CreateAatfContactData();
     viewModel.SiteAddressData = CreateAatfAddressData();
     viewModel.SizeValue       = aatfData.Size.Value;
     viewModel.StatusValue     = aatfData.AatfStatus.Value;
     viewModel.OrganisationId  = aatfData.Organisation.Id;
     viewModel.Id     = aatfData.Id;
     viewModel.AatfId = aatfData.AatfId;
     return(viewModel);
 }
Esempio n. 17
0
 private static void AssertResults(AatfData aatfData, CopyFacilityViewModelBase result)
 {
     Assert.Equal(aatfData.Id, result.Id);
     Assert.Equal(aatfData.Name, result.Name);
     Assert.Equal(aatfData.ApprovalNumber, result.ApprovalNumber);
     Assert.Equal(aatfData.AatfStatus.Value, result.StatusValue);
     Assert.Equal(aatfData.SiteAddress, result.SiteAddressData);
     Assert.Equal(aatfData.Size.Value, result.SizeValue);
     Assert.Equal(aatfData.Contact, result.ContactData);
     Assert.Equal(aatfData.Organisation.Id, result.OrganisationId);
     Assert.Equal(aatfData.FacilityType, result.FacilityType);
 }
Esempio n. 18
0
        public void Map_GivenValidSource_WithNoApprovalDate_PropertiesShouldBeMapped_ApprovalDateShouldBeDefaultDatetime()
        {
            AatfData aatfData = CreateAatfData();

            aatfData.ApprovalDate = default(DateTime);

            var transfer = new AatfDataToAatfDetailsViewModelMapTransfer(aatfData);

            AatfDetailsViewModel result = map.Map(transfer);

            AssertResults(aatfData, result);
            Assert.Null(result.ApprovalDate);
        }
 private static void AssertResults(AatfData aatfData, AatfEditDetailsViewModel result, string competentAuthorityId)
 {
     Assert.Equal(aatfData.Id, result.Id);
     Assert.Equal(aatfData.Name, result.Name);
     Assert.Equal(aatfData.ApprovalNumber, result.ApprovalNumber);
     Assert.Equal(aatfData.SiteAddress, result.SiteAddressData);
     Assert.Equal(competentAuthorityId, result.CompetentAuthorityId);
     Assert.Equal(AatfStatus.Approved.Value, result.StatusValue);
     Assert.Equal(AatfSize.Large.Value, result.SizeValue);
     Assert.Equal(FacilityType.Aatf, result.FacilityType);
     Assert.Equal(aatfData.ComplianceYear, result.ComplianceYear);
     Assert.Equal(aatfData.PanAreaData.Id, result.PanAreaId);
     Assert.Equal(aatfData.LocalAreaData.Id, result.LocalAreaId);
 }
        public void Map_IfLocalAreaIsNull_PropertyShouldNotBeMapped()
        {
            var competentAuthorityId = "EA";
            var competentAuthority   = fixture.Build <UKCompetentAuthorityData>()
                                       .With(ca => ca.Abbreviation, competentAuthorityId)
                                       .With(ca => ca.Name, "Environment Agency")
                                       .Create();

            var aatfData = new AatfData(Guid.NewGuid(), "TEST", "test", (int)2019, competentAuthority, AatfStatus.Approved, null, AatfSize.Small, default(DateTime), A.Fake <PanAreaData>(), null);

            var result = map.Map(aatfData);

            result.LocalAreaId.Should().BeNull();
        }
Esempio n. 21
0
        public void Map_GivenValidSource_WithCurrentDate_PropertiesShouldBeMapped()
        {
            AatfData aatfData = CreateAatfData();
            var      date     = DateTime.UtcNow;

            var transfer = new AatfDataToAatfDetailsViewModelMapTransfer(aatfData)
            {
                CurrentDate = date,
            };

            AatfDetailsViewModel result = map.Map(transfer);

            result.CurrentDate.Should().Be(date);
        }
Esempio n. 22
0
        public void Map_GivenValidSource_WithComplianceYears_PropertiesShouldBeMapped()
        {
            AatfData aatfData        = CreateAatfData();
            var      complianceYears = A.Fake <List <short> >();

            var transfer = new AatfDataToAatfDetailsViewModelMapTransfer(aatfData)
            {
                ComplianceYearList = complianceYears,
            };

            AatfDetailsViewModel result = map.Map(transfer);

            result.ComplianceYearList.Should().BeEquivalentTo(complianceYears);
        }
Esempio n. 23
0
        public async Task AddAePost_ValidViewModelRequestWithCorrectParametersCreated()
        {
            var viewModel = new AddAeViewModel()
            {
                Name                     = "name",
                ApprovalNumber           = "123",
                ApprovalDate             = DateTime.Now,
                SiteAddressData          = A.Fake <AatfAddressData>(),
                SizeValue                = 1,
                StatusValue              = 1,
                OrganisationId           = Guid.NewGuid(),
                ContactData              = A.Fake <AatfContactData>(),
                CompetentAuthoritiesList = A.Fake <List <UKCompetentAuthorityData> >(),
                CompetentAuthorityId     = Guid.NewGuid().ToString(),
                ComplianceYear           = (Int16)2019
            };

            var aatfData = new AatfData(
                Guid.NewGuid(),
                viewModel.Name,
                viewModel.ApprovalNumber,
                viewModel.ComplianceYear,
                viewModel.CompetentAuthoritiesList.FirstOrDefault(p => p.Id == Guid.Parse(viewModel.CompetentAuthorityId)),
                Enumeration.FromValue <AatfStatus>(viewModel.StatusValue),
                viewModel.SiteAddressData,
                Enumeration.FromValue <AatfSize>(viewModel.SizeValue),
                viewModel.ApprovalDate.GetValueOrDefault());

            var validationResult = new ValidationResult();

            A.CallTo(() => validationWrapper.Validate(A <string> ._, viewModel)).Returns(validationResult);
            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1));

            await controller.AddAe(viewModel);

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <AddAatf> .That.Matches(
                                                    p => p.OrganisationId == viewModel.OrganisationId &&
                                                    p.Aatf.Name == aatfData.Name &&
                                                    p.Aatf.ApprovalNumber == aatfData.ApprovalNumber &&
                                                    p.Aatf.CompetentAuthority == aatfData.CompetentAuthority &&
                                                    p.Aatf.AatfStatus == aatfData.AatfStatus &&
                                                    p.Aatf.SiteAddress == aatfData.SiteAddress &&
                                                    p.Aatf.Size == aatfData.Size &&
                                                    p.Aatf.ApprovalDate == aatfData.ApprovalDate &&
                                                    p.AatfContact == viewModel.ContactData))).MustHaveHappened(Repeated.Exactly.Once);

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <CompleteOrganisationAdmin> .That.Matches(
                                                    p => p.OrganisationId == viewModel.OrganisationId))).MustHaveHappened(Repeated.Exactly.Once);
        }
Esempio n. 24
0
        public async void HandleAsync_GivenAatfAeData_AatfDataShouldBeReturn()
        {
            var      facilityType = Weee.Core.AatfReturn.FacilityType.Aatf;
            DateTime date         = DateTime.Now;
            var      id           = Guid.NewGuid();
            var      aatfData1    = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                                 Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                                 A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = facilityType
            };

            var aatfData2 = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                         Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                         A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = facilityType
            };

            var aatfData3 = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                         Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                         A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = Weee.Core.AatfReturn.FacilityType.Ae
            };

            var aatfDatas = new List <AatfData>()
            {
                aatfData1, aatfData2, aatfData3
            }.ToArray();

            Aatf aatf  = new Aatf("name", A.Dummy <UKCompetentAuthority>(), "1234", Domain.AatfReturn.AatfStatus.Approved, A.Fake <Organisation>(), A.Dummy <AatfAddress>(), Domain.AatfReturn.AatfSize.Large, date, A.Fake <AatfContact>(), Domain.AatfReturn.FacilityType.Aatf, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>());
            Aatf aatf2 = new Aatf("name", A.Dummy <UKCompetentAuthority>(), "1234", Domain.AatfReturn.AatfStatus.Approved, A.Fake <Organisation>(), A.Dummy <AatfAddress>(), Domain.AatfReturn.AatfSize.Large, date, A.Fake <AatfContact>(), Domain.AatfReturn.FacilityType.Aatf, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>());
            Aatf aatf3 = new Aatf("name", A.Dummy <UKCompetentAuthority>(), "1234", Domain.AatfReturn.AatfStatus.Approved, A.Fake <Organisation>(), A.Dummy <AatfAddress>(), Domain.AatfReturn.AatfSize.Large, date, A.Fake <AatfContact>(), Domain.AatfReturn.FacilityType.Ae, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>());

            var aatfs = new List <Aatf>()
            {
                aatf, aatf2
            };

            A.CallTo(() => dataAccess.GetManyByExpression(A <AatfsByOrganisationAndFacilityTypeSpecification> ._)).Returns(aatfs);

            A.CallTo(() => mapper.Map(aatfs.ElementAt(0))).Returns(aatfDatas.ElementAt(0));
            A.CallTo(() => mapper.Map(aatfs.ElementAt(1))).Returns(aatfDatas.ElementAt(1));

            var result = await handler.HandleAsync(new GetAatfByOrganisationFacilityType(id, Core.AatfReturn.FacilityType.Aatf));

            result.Count().Should().Be(2);
        }
Esempio n. 25
0
        public async Task HandleAsync_CopyAatf_ValidInput_AddsAatf(Core.AatfReturn.FacilityType facilityType)
        {
            var competentAuthority = A.Fake <UKCompetentAuthority>();
            var localarea          = A.Fake <LocalArea>();
            var panarea            = A.Fake <PanArea>();

            var aatf = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                    Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                    A.Dummy <Core.Shared.PanAreaData>(), A.Dummy <Core.Admin.LocalAreaData>())
            {
                FacilityType = facilityType
            };

            var aatfId = Guid.NewGuid();

            var request = new AddAatf()
            {
                Aatf           = aatf,
                AatfContact    = A.Dummy <AatfContactData>(),
                OrganisationId = Guid.NewGuid(),
                AatfId         = aatfId
            };

            var expectedFacilityType = facilityType.ToDomainEnumeration <Domain.AatfReturn.FacilityType>();

            A.CallTo(() => commonDataAccess.FetchCompetentAuthority(aatf.CompetentAuthority.Abbreviation)).Returns(competentAuthority);
            A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(aatf.LocalAreaData.Id)).Returns(localarea);
            A.CallTo(() => commonDataAccess.FetchLookup <PanArea>(aatf.PanAreaData.Id)).Returns(panarea);

            var result = await handler.HandleAsync(request);

            A.CallTo(() => dataAccess.Add <Domain.AatfReturn.Aatf>(A <Domain.AatfReturn.Aatf> .That.Matches(
                                                                       c => c.Name == aatf.Name &&
                                                                       c.ApprovalNumber == aatf.ApprovalNumber &&
                                                                       c.CompetentAuthority.Equals(competentAuthority) &&
                                                                       c.LocalArea.Equals(localarea) &&
                                                                       c.PanArea.Equals(panarea) &&
                                                                       c.Name == aatf.Name &&
                                                                       c.SiteAddress.Id == aatf.SiteAddress.Id &&
                                                                       Enumeration.FromValue <Domain.AatfReturn.AatfSize>(c.Size.Value) == Enumeration.FromValue <Domain.AatfReturn.AatfSize>(aatf.Size.Value) &&
                                                                       Enumeration.FromValue <Domain.AatfReturn.AatfStatus>(c.AatfStatus.Value) == Enumeration.FromValue <Domain.AatfReturn.AatfStatus>(aatf.AatfStatus.Value) &&
                                                                       c.ApprovalDate == aatf.ApprovalDate &&
                                                                       c.ComplianceYear == aatf.ComplianceYear &&
                                                                       c.FacilityType == expectedFacilityType &&
                                                                       c.AatfId == aatfId))).MustHaveHappened(Repeated.Exactly.Once);

            result.Should().Be(true);
        }
Esempio n. 26
0
 public ReturnToReturnViewModelMapTests()
 {
     map                             = new ReturnToReturnViewModelMap(new TonnageUtilities());
     mapperTestId                    = Guid.NewGuid();
     mapperTestYear                  = 2019;
     mapperTestQuarter               = new Quarter(mapperTestYear, QuarterType.Q1);
     mapperTestQuarterWindow         = new QuarterWindow(new DateTime(mapperTestYear, 4, 1), new DateTime(mapperTestYear + 1, 3, 31), QuarterType.Q1);
     mapperTestPeriod                = "Q1 Jan - Mar";
     mapperTestNonObligatedData      = new List <NonObligatedData>();
     mapperTestObligatedReceivedData = new List <WeeeObligatedData>();
     mapperTestObligatedReusedData   = new List <WeeeObligatedData>();
     mapperTestObligatedSentOnData   = new List <WeeeObligatedData>();
     mapperTestScheme                = new Scheme(Guid.NewGuid(), "Test Scheme");
     mapperTestAatf                  = new AatfData(mapperTestId, "Test Aatf", "Aatf approval", (Int16)2019);
     mapperTestAatfList              = new List <AatfData>();
 }
Esempio n. 27
0
        private async Task <T> PopulateAndReturnViewModel <T>(AatfData facility, IWeeeClient client)
            where T : FacilityViewModelBase
        {
            var viewModel = mapper.Map <T>(facility);

            var accessToken = User.GetAccessToken();

            viewModel.CompetentAuthoritiesList = await client.SendAsync(accessToken, new GetUKCompetentAuthorities());

            viewModel.PanAreaList = await client.SendAsync(accessToken, new GetPanAreas());

            viewModel.LocalAreaList = await client.SendAsync(accessToken, new GetLocalAreas());

            viewModel.SiteAddressData.Countries = await client.SendAsync(accessToken, new GetCountries(false));

            return(viewModel);
        }
        private List <AatfData> SetupAatfList()
        {
            var aatfList = new List <AatfData>();

            var aatfData = new AatfData(Guid.NewGuid(), "AATF", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                        Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                        A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Aatf,
                AatfId       = Guid.NewGuid()
            };

            var aatfData2 = new AatfData(Guid.NewGuid(), "AATF2", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                         Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                         A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Aatf,
                AatfId       = Guid.NewGuid()
            };

            var exporterData = new AatfData(Guid.NewGuid(), "AE", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                            Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                            A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Ae,
                AatfId       = Guid.NewGuid()
            };

            var exporterData2 = new AatfData(Guid.NewGuid(), "AE", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                             Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                             A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = FacilityType.Ae,
                AatfId       = Guid.NewGuid()
            };

            aatfList.Add(aatfData);
            aatfList.Add(exporterData);
            aatfList.Add(aatfData2);
            aatfList.Add(exporterData2);
            return(aatfList);
        }
Esempio n. 29
0
        public static AatfData CreateFacilityData(FacilityViewModelBase viewModel)
        {
            var data = new AatfData(
                Guid.NewGuid(),
                viewModel.Name,
                viewModel.ApprovalNumber,
                viewModel.ComplianceYear,
                viewModel.CompetentAuthoritiesList.FirstOrDefault(p => p.Abbreviation == viewModel.CompetentAuthorityId),
                Enumeration.FromValue <AatfStatus>(viewModel.StatusValue),
                viewModel.SiteAddressData,
                Enumeration.FromValue <AatfSize>(viewModel.SizeValue),
                viewModel.ApprovalDate.GetValueOrDefault(),
                viewModel.PanAreaList.FirstOrDefault(p => p.Id == viewModel.PanAreaId),
                viewModel.LocalAreaList.FirstOrDefault(p => p.Id == viewModel.LocalAreaId))
            {
                FacilityType = viewModel.FacilityType
            };

            return(data);
        }
Esempio n. 30
0
        public async Task HandleAsync_WithNoLocalArea_LocalAreaIsNull(Core.AatfReturn.FacilityType facilityType)
        {
            var aatf = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(),
                                    Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now,
                                    A.Dummy <Core.Shared.PanAreaData>(), null)
            {
                FacilityType = facilityType
            };

            var aatfId = Guid.NewGuid();

            var request = new AddAatf()
            {
                Aatf           = aatf,
                AatfContact    = A.Dummy <AatfContactData>(),
                OrganisationId = Guid.NewGuid()
            };

            var result = await handler.HandleAsync(request);

            A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(A <Guid> ._)).MustNotHaveHappened();
        }