public async Task Execute_GivenAllData_ReturnsData()
        {
            using (var db = new DatabaseWrapper())
            {
                await CreateScheme(db);

                var org   = OrgWithAddress(db);
                var ae    = ObligatedWeeeIntegrationCommon.CreateAe(db, org);
                var aatf  = ObligatedWeeeIntegrationCommon.CreateAatf(db, org, 2019, false, false, fixture.Create <string>());
                var aatfs = new List <Aatf>()
                {
                    ae, aatf
                };

                db.WeeeContext.Organisations.Add(org);
                db.WeeeContext.Aatfs.Add(ae);
                db.WeeeContext.Aatfs.Add(aatf);
                await db.WeeeContext.SaveChangesAsync();

                var results = await db.StoredProcedures.GetAatfAeDetailsCsvData(2019, 4, null, null, null);

                VerifyResult(results, aatfs);
                VerifyPCSRecord(results);
            }
        }
Example #2
0
        public async Task Execute_GivenNonSubmittedAeNilReturns_ResultsShouldBeZero()
        {
            using (var db = new DatabaseWrapper())
            {
                var @return = ObligatedWeeeIntegrationCommon.CreateReturn(null, db.Model.AspNetUsers.First().Id, FacilityType.Ae);
                var ae      = ObligatedWeeeIntegrationCommon.CreateAe(db, @return.Organisation);

                db.WeeeContext.Returns.Add(@return);

                await db.WeeeContext.SaveChangesAsync();

                var results = await db.StoredProcedures.GetAeSubmissions(ae.Id, ae.ComplianceYear);

                results.Count.Should().Be(0);
            }
        }
Example #3
0
        public async Task Execute_GivenAeNilReturns_DataShouldBeCorrect()
        {
            using (var db = new DatabaseWrapper())
            {
                var @return1 = CreateSubmittedReturn(db);
                var @return2 = CreateSubmittedReturn(db);
                var @return3 = CreateSubmittedReturn(db, 2020);

                var ae = ObligatedWeeeIntegrationCommon.CreateAe(db, @return1.Organisation);

                var ae1 = ObligatedWeeeIntegrationCommon.CreateAe(db, @return1.Organisation, 2020);

                db.WeeeContext.Returns.Add(@return1);
                db.WeeeContext.Returns.Add(@return2);
                db.WeeeContext.Returns.Add(@return3);
                db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(ae, @return1));
                db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(ae, @return2));
                db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(ae1, @return3));

                await db.WeeeContext.SaveChangesAsync();

                var results = await db.StoredProcedures.GetAeSubmissions(ae.Id, ae.ComplianceYear);

                results.Count.Should().Be(2);
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeSentOnHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeSentOnNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeReceivedHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeReceivedNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeReusedHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).WeeeReusedNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return1.Id)).SubmittedBy.Should().Be(db.Model.AspNetUsers.First().FirstName + " " + db.Model.AspNetUsers.First().Surname);
                results.First(r => r.ReturnId.Equals(@return1.Id)).SubmittedDate.Date.Should().Be(@return1.SubmittedDate.Value.Date);
                results.First(r => r.ReturnId.Equals(@return1.Id)).ComplianceYear.Should().Be(@return1.Quarter.Year);
                results.First(r => r.ReturnId.Equals(@return1.Id)).Quarter.Should().Be((int)@return1.Quarter.Q);
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeSentOnHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeSentOnNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeReceivedHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeReceivedNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeReusedHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).WeeeReusedNonHouseHold.Should().BeNull();
                results.First(r => r.ReturnId.Equals(@return2.Id)).SubmittedBy.Should().Be(db.Model.AspNetUsers.First().FirstName + " " + db.Model.AspNetUsers.First().Surname);
                results.First(r => r.ReturnId.Equals(@return2.Id)).SubmittedDate.Date.Should().Be(@return2.SubmittedDate.Value.Date);
                results.First(r => r.ReturnId.Equals(@return2.Id)).ComplianceYear.Should().Be(@return2.Quarter.Year);
                results.First(r => r.ReturnId.Equals(@return2.Id)).Quarter.Should().Be((int)@return2.Quarter.Q);
            }
        }
        public async void HasMultipleFacility_GivenOrganisationDoesFacilityTypeDoesNotMatch_FalseShouldBeReturned()
        {
            using (var databaseWrapper = new DatabaseWrapper())
            {
                var organisationDataAccess = new OrganisationDataAccess(databaseWrapper.WeeeContext);
                var organisation           = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>());

                databaseWrapper.WeeeContext.Organisations.Add(organisation);
                databaseWrapper.WeeeContext.Aatfs.Add(ObligatedWeeeIntegrationCommon.CreateAe(databaseWrapper, @organisation));

                await databaseWrapper.WeeeContext.SaveChangesAsync();

                var result = await organisationDataAccess.HasMultipleOfEntityFacility(organisation.Id, FacilityType.Aatf);

                result.Should().BeFalse();
            }
        }
        public async Task Execute_GivenComplianceAndFacilityTypeOfAe_ReturnsData()
        {
            using (var db = new DatabaseWrapper())
            {
                var org   = OrgWithAddress(db);
                var ae    = ObligatedWeeeIntegrationCommon.CreateAe(db, org);
                var aatfs = new List <Aatf>()
                {
                    ae
                };

                db.WeeeContext.Aatfs.Add(ae);
                await db.WeeeContext.SaveChangesAsync();

                var results = await db.StoredProcedures.GetAatfAeDetailsCsvData(2019, 2, ae.CompetentAuthority.Id, null, null);

                VerifyResult(results, aatfs);
            }
        }
        public async void HasFacility_GivenOrganisationHasAe_TrueShouldBeReturned()
        {
            using (var databaseWrapper = new DatabaseWrapper())
            {
                var organisationDataAccess = new OrganisationDataAccess(databaseWrapper.WeeeContext);
                var organisation           = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>());

                var ae = ObligatedWeeeIntegrationCommon.CreateAe(databaseWrapper, organisation);

                databaseWrapper.WeeeContext.Aatfs.Add(ae);
                databaseWrapper.WeeeContext.Organisations.Add(organisation);

                await databaseWrapper.WeeeContext.SaveChangesAsync();

                var result = await organisationDataAccess.HasFacility(organisation.Id, FacilityType.Ae);

                result.Should().BeTrue();
            }
        }