コード例 #1
0
        public void Map_GivenSource_ObligatedWeeeReceivedValuesShouldBeMapped()
        {
            var @return = GetReturn();

            var weeeReceived = ReturnWeeeReceived(scheme, aatf, @return);

            var obligated = new List <WeeeReceivedAmount>()
            {
                new WeeeReceivedAmount(weeeReceived, 1, 1.000m, 2.000m),
                new WeeeReceivedAmount(weeeReceived, 2, 3.000m, 4.000m)
            };

            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(),
                                                 A.Fake <List <Aatf> >(), A.Fake <List <NonObligatedWeee> >(), obligated,
                                                 A.Fake <List <WeeeReusedAmount> >(), organisation,
                                                 A.Fake <List <WeeeSentOnAmount> >(),
                                                 A.Fake <List <ReturnScheme> >(),
                                                 A.Fake <List <ReturnReportOn> >(),
                                                 A.Dummy <DateTime>());

            var result = map.Map(source);

            result.ObligatedWeeeReceivedData.Count(o => o.CategoryId == 1 && o.B2C == 1 && o.B2B == 2).Should().Be(1);
            result.ObligatedWeeeReceivedData.Count(o => o.CategoryId == 2 && o.B2C == 3 && o.B2B == 4).Should().Be(1);
            result.ObligatedWeeeReceivedData.Count().Should().Be(2);
        }
コード例 #2
0
        public void Map_GivenSource_AatfsShouldBeMapped()
        {
            var @return = GetReturn();

            var aatfs = new List <Aatf>()
            {
                new Aatf("Aatf1", A.Fake <UKCompetentAuthority>(), "1234", AatfStatus.Approved, organisation, A.Fake <AatfAddress>(), A.Fake <AatfSize>(), DateTime.Now, A.Fake <AatfContact>(), FacilityType.Aatf, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>()),
                new Aatf("Aatf2", A.Fake <UKCompetentAuthority>(), "1234", AatfStatus.Approved, organisation, A.Fake <AatfAddress>(), A.Fake <AatfSize>(), DateTime.Now, A.Fake <AatfContact>(), FacilityType.Aatf, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>()),
            };

            foreach (Aatf aatf in aatfs)
            {
                A.CallTo(() => statusMapper.Map(aatf.AatfStatus)).Returns(Core.AatfReturn.AatfStatus.Approved);
            }

            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(),
                                                 aatfs, A.Fake <List <NonObligatedWeee> >(), A.Fake <List <WeeeReceivedAmount> >(),
                                                 A.Fake <List <WeeeReusedAmount> >(), organisation, A.Fake <List <WeeeSentOnAmount> >(), A.Fake <List <ReturnScheme> >(),
                                                 A.Fake <List <ReturnReportOn> >(),
                                                 A.Dummy <DateTime>());

            var result = map.Map(source);

            var zeroGuid = new Guid();

            result.Aatfs.Count(a => a.Name == "Aatf1" && a.Id == zeroGuid && a.AatfStatus.Value == AatfStatus.Approved.Value).Should().Be(1);
            result.Aatfs.Count(a => a.Name == "Aatf2" && a.Id == zeroGuid && a.AatfStatus.Value == AatfStatus.Approved.Value).Should().Be(1);
            result.Aatfs.Count().Should().Be(2);
        }
コード例 #3
0
ファイル: GetPopulatedReturn.cs プロジェクト: DEFRA/prsd-weee
        public async Task <ReturnData> GetReturnData(Guid returnId, bool forSummary)
        {
            authorization.EnsureCanAccessExternalArea();

            var @return = await returnDataAccess.GetById(returnId);

            if (@return == null)
            {
                throw new ArgumentException($"No return found for return id {returnId}");
            }

            authorization.EnsureOrganisationAccess(@return.Organisation.Id);

            var annualQuarterWindow = await quarterWindowFactory.GetQuarterWindow(@return.Quarter);

            var returnNonObligatedValues = await nonObligatedDataAccess.FetchNonObligatedWeeeForReturn(returnId);

            var returnObligatedReceivedValues = await obligatedDataAccess.FetchObligatedWeeeReceivedForReturn(returnId);

            var returnObligatedReusedValues = await obligatedDataAccess.FetchObligatedWeeeReusedForReturn(returnId);

            List <Aatf> aatfs;

            if (forSummary && @return.ReturnStatus.Equals(EA.Weee.Domain.AatfReturn.ReturnStatus.Submitted))
            {
                aatfs = await aatfDataAccess.FetchAatfByReturnId(@return.Id);
            }
            else
            {
                aatfs = await aatfDataAccess.FetchAatfByReturnQuarterWindow(@return);
            }

            var sentOn = await obligatedDataAccess.FetchObligatedWeeeSentOnForReturnByReturn(returnId);

            var returnSchemeList = await returnSchemeDataAccess.GetSelectedSchemesByReturnId(returnId);

            var returnReportsOn = await genericDataAccess.GetManyByExpression(new ReturnReportOnByReturnIdSpecification(returnId));

            var currentDate    = SystemTime.Now;
            var systemSettings = await systemDataDataAccess.Get();

            if (systemSettings.UseFixedCurrentDate)
            {
                currentDate = systemSettings.FixedCurrentDate;
            }

            var returnQuarterWindow = new ReturnQuarterWindow(@return,
                                                              annualQuarterWindow,
                                                              aatfs,
                                                              returnNonObligatedValues,
                                                              returnObligatedReceivedValues,
                                                              returnObligatedReusedValues,
                                                              @return.Organisation,
                                                              sentOn,
                                                              returnSchemeList,
                                                              returnReportsOn,
                                                              currentDate);

            return(mapper.Map(returnQuarterWindow));
        }
コード例 #4
0
        public void Map_GivenSource_GivenQuarterWindow_QuarterWindowShouldNotBeNull()
        {
            var quarterWindow = new EA.Weee.Domain.DataReturns.QuarterWindow(new DateTime(2019, 4, 1), new DateTime(2020, 3, 16), QuarterType.Q1);

            var source = new ReturnQuarterWindow(GetReturn(), quarterWindow,
                                                 null, null, null, null, null, null, A.Fake <List <ReturnScheme> >(), A.Fake <List <ReturnReportOn> >(), A.Dummy <DateTime>());

            var result = map.Map(source);

            result.QuarterWindow.Should().NotBeNull();
        }
コード例 #5
0
        public void Map_GivenSource_QuarterPropertiesShouldBeMapped()
        {
            QuarterWindow window = new QuarterWindow(new DateTime(2019, 4, 1), new DateTime(2020, 3, 16), QuarterType.Q1);
            var           source = new ReturnQuarterWindow(GetReturn(), window,
                                                           null, null, null, null, null, null, A.Fake <List <ReturnScheme> >(), A.Fake <List <ReturnReportOn> >(), A.Dummy <DateTime>());

            var result = map.Map(source);

            result.Quarter.Q.Should().Be(EA.Weee.Core.DataReturns.QuarterType.Q1);
            result.Quarter.Year.Should().Be(2019);
        }
コード例 #6
0
        public void Map_GivenSource_WeeeSentOnIdShouldBeMapped()
        {
            var obligatedWeeeSentOn = A.Fake <List <WeeeSentOnAmount> >();

            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(),
                                                 A.Fake <List <DomainAatf> >(), A.Fake <List <NonObligatedWeee> >(), A.Fake <List <WeeeReceivedAmount> >(), A.Fake <List <WeeeReusedAmount> >(),
                                                 organisation, obligatedWeeeSentOn, A.Fake <List <ReturnScheme> >(), A.Fake <List <ReturnReportOn> >(), A.Dummy <DateTime>());

            var result = map.Map(source);

            for (var i = 0; i < result.ObligatedWeeeSentOnData.Count; i++)
            {
                result.ObligatedWeeeSentOnData[i].Id.Should().Be(obligatedWeeeSentOn[i].Id);
            }
        }
コード例 #7
0
        public void Map_GivenSource_ReturnReportOnsShouldBeMapped()
        {
            var @return            = GetReturn();
            var returnReportOnList = new List <ReturnReportOn> {
                new ReturnReportOn(@return.Id, 1), new ReturnReportOn(@return.Id, 3)
            };

            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(),
                                                 null, null, null, null, null, null, A.Fake <List <ReturnScheme> >(), returnReportOnList, A.Dummy <DateTime>());

            var result = map.Map(source);

            result.ReturnReportOns.Count.Should().Be(2);
            result.ReturnReportOns.Count(r => r.ReportOnQuestionId == 1).Should().Be(1);
            result.ReturnReportOns.Count(r => r.ReportOnQuestionId == 3).Should().Be(1);
        }
コード例 #8
0
        public void Map_GivenSource_NonObligatedValuesShouldBeMapped()
        {
            var @return = GetReturn();

            var nonObligated = new List <NonObligatedWeee>()
            {
                new NonObligatedWeee(@return, 1, true, 2),
                new NonObligatedWeee(@return, 2, false, 3)
            };

            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(), null, nonObligated,
                                                 null, null, null, null, A.Fake <List <ReturnScheme> >(), A.Fake <List <ReturnReportOn> >(), A.Dummy <DateTime>());

            var result = map.Map(source);

            result.NonObligatedData.Count(n => n.CategoryId == 1 && n.Dcf && n.Tonnage == 2).Should().Be(1);
            result.NonObligatedData.Count(n => n.CategoryId == 2 && !n.Dcf && n.Tonnage == 3).Should().Be(1);
            result.NonObligatedData.Count().Should().Be(2);
        }
コード例 #9
0
        public void ReturnQuarterWindow_GivenNullReturnScheme_ArgumentNullExceptionExpected()
        {
            Action action = () =>
            {
                var returnQuarterWindow = new ReturnQuarterWindow(A.Dummy <Return>(),
                                                                  A.Dummy <QuarterWindow>(),
                                                                  new List <Aatf>(),
                                                                  new List <NonObligatedWeee>(),
                                                                  new List <WeeeReceivedAmount>(),
                                                                  new List <WeeeReusedAmount>(),
                                                                  A.Dummy <Organisation>(),
                                                                  new List <WeeeSentOnAmount>(),
                                                                  null,
                                                                  new List <ReturnReportOn>(),
                                                                  DateTime.Now);
            };

            action.Should().Throw <ArgumentNullException>();
        }
コード例 #10
0
        public void Map_GivenSource_OrganisationShouldBeMapped()
        {
            var source = new ReturnQuarterWindow(GetReturn(), GetQuarterWindow(),
                                                 A.Fake <List <DomainAatf> >(), A.Fake <List <NonObligatedWeee> >(),
                                                 A.Fake <List <WeeeReceivedAmount> >(), A.Fake <List <WeeeReusedAmount> >(), organisation,
                                                 A.Fake <List <WeeeSentOnAmount> >(),
                                                 A.Fake <List <ReturnScheme> >(),
                                                 A.Fake <List <ReturnReportOn> >(),
                                                 A.Dummy <DateTime>());

            var organisationData = new OrganisationData()
            {
                Name = "name", Id = Guid.NewGuid()
            };

            A.CallTo(() => organisationMapper.Map(source.Organisation)).Returns(organisationData);

            var result = map.Map(source);

            result.OrganisationData.Should().Be(organisationData);
        }
コード例 #11
0
        public void ReturnQuarterWindow_GivenSourceData_PropertiesShouldBeMapped()
        {
            var @return          = A.Dummy <Return>();
            var quarterWindow    = A.Dummy <QuarterWindow>();
            var aatfs            = new List <Aatf>();
            var nonObligatedWeee = new List <NonObligatedWeee>();
            var weeeReceived     = new List <WeeeReceivedAmount>();
            var weeeReused       = new List <WeeeReusedAmount>();
            var organisation     = A.Dummy <Organisation>();
            var weeeSentOn       = new List <WeeeSentOnAmount>();
            var returnSchemes    = new List <ReturnScheme>();
            var returnReportOn   = new List <ReturnReportOn>();
            var date             = new DateTime(2019, 1, 1);

            var returnQuarterWindow = new ReturnQuarterWindow(@return,
                                                              quarterWindow,
                                                              aatfs,
                                                              nonObligatedWeee,
                                                              weeeReceived,
                                                              weeeReused,
                                                              organisation,
                                                              weeeSentOn,
                                                              returnSchemes,
                                                              returnReportOn,
                                                              date);

            returnQuarterWindow.Return.Should().Be(@return);
            returnQuarterWindow.QuarterWindow.Should().Be(quarterWindow);
            returnQuarterWindow.Aatfs.Should().BeSameAs(aatfs);
            returnQuarterWindow.NonObligatedWeeeList.Should().BeSameAs(nonObligatedWeee);
            returnQuarterWindow.ObligatedWeeeReceivedList.Should().BeSameAs(weeeReceived);
            returnQuarterWindow.ObligatedWeeeReusedList.Should().BeSameAs(weeeReused);
            returnQuarterWindow.Organisation.Should().Be(organisation);
            returnQuarterWindow.ObligatedWeeeSentOnList.Should().BeSameAs(weeeSentOn);
            returnQuarterWindow.ReturnSchemes.Should().BeSameAs(returnSchemes);
            returnQuarterWindow.ReturnReportOns.Should().BeSameAs(returnReportOn);
            returnQuarterWindow.SystemDateTime.Should().Be(date);
        }