public async Task Execute_GivenReturnWithZeroData_NullDataShouldBeReturned() { using (var db = new DatabaseWrapper()) { var @return = SetupSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); var values = CategoryValues(); db.WeeeContext.Returns.Add(@return); foreach (var weeeCategory in values) { db.WeeeContext.NonObligatedWeee.Add(new NonObligatedWeee(@return, (int)weeeCategory, false, 0)); db.WeeeContext.NonObligatedWeee.Add(new NonObligatedWeee(@return, (int)weeeCategory, true, 0)); } await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetReturnNonObligatedCsvData(@return.Id); results.Count.Should().Be(14); for (var countValue = 0; countValue < values.Count(); countValue++) { results.ElementAt(countValue).TotalNonObligatedWeeeReceived.Should().BeNull(); results.ElementAt(countValue).TotalNonObligatedWeeeReceivedFromDcf.Should().BeNull(); } } }
public async Task Execute_GivenCreatedReturnWithNoData_DefaultDataShouldBeReturned() { using (var db = new DatabaseWrapper()) { var @return = SetupCreatedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); db.WeeeContext.Returns.Add(@return); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetReturnNonObligatedCsvData(@return.Id); results.Count.Should().Be(14); var values = CategoryValues(); for (var countValue = 0; countValue < values.Count(); countValue++) { var value = values.ElementAt(countValue); var categoryNumber = ((int)value <= 9) ? "0" + Convert.ToString((int)value) : Convert.ToString((int)value); results.ElementAt(countValue).Year.Should().Be(2019); results.ElementAt(countValue).Quarter.Should().Be("Q1"); results.ElementAt(countValue).SubmittedBy.Should().BeNullOrWhiteSpace(); results.ElementAt(countValue).SubmittedDate.Should().BeNull(); results.ElementAt(countValue).OrganisationName.Should().Be(organisation.Name); results.ElementAt(countValue).Category.Should().Be($"{categoryNumber}. {value.ToDisplayString()}"); } } }
public async Task Execute_GivenWeeeSentOnData_ReturnsWeeeSentOnAatfDataShouldBeCorrect() { using (var db = new DatabaseWrapper()) { var @return = CreateSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, @return.Organisation); await CreateWeeSentOnData(db, aatf, @return); var results = await db.StoredProcedures.GetAllAatfSentOnDataCsv(2019, string.Empty, null, null); Assert.NotNull(results); var data = from x in results.Tables[0].AsEnumerable() where x.Field <string>("Name of AATF") == aatf.Name select x; data.AsQueryable().Count().Should().Be(28); var dataB2B = from x in results.Tables[0].AsEnumerable() where x.Field <string>("Name of AATF") == aatf.Name && x.Field <string>("Obligation type") == "B2B" select x; dataB2B.AsQueryable().Count().Should().Be(14); var dataB2C = from x in results.Tables[0].AsEnumerable() where x.Field <string>("Name of AATF") == aatf.Name && x.Field <string>("Obligation type") == "B2C" select x; dataB2C.AsQueryable().Count().Should().Be(14); } }
private async Task AddWeeeReceived(DateTime?approvalDate = null) { var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); aatf.UpdateDetails(aatf.Name, aatf.CompetentAuthority, aatf.ApprovalNumber, aatf.AatfStatus, aatf.Organisation, aatf.Size, approvalDate, aatf.LocalArea, aatf.PanArea); var weeReceived = new List <WeeeReceived>() { new WeeeReceived(new Scheme(organisation), aatf, @return), new WeeeReceived(new Scheme(organisation), aatf, @return) }; var weeeReceivedAmounts = new List <WeeeReceivedAmount>() { new WeeeReceivedAmount(weeReceived.ElementAt(0), 1, 100, 200), new WeeeReceivedAmount(weeReceived.ElementAt(0), 2, 300, 400), new WeeeReceivedAmount(weeReceived.ElementAt(1), 3, 0, null), new WeeeReceivedAmount(weeReceived.ElementAt(1), 4, null, 0) }; database.WeeeContext.WeeeReceivedAmount.AddRange(weeeReceivedAmounts); database.WeeeContext.WeeeReceived.AddRange(weeReceived); await database.WeeeContext.SaveChangesAsync(); }
public async Task Execute_GivenComplianceAndFacilityTypeAndLocalAreaAndPanArea_ReturnsData(bool hasArea, bool hasPan) { using (var db = new DatabaseWrapper()) { var org = OrgWithAddress(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, org, 2019, hasArea, hasPan, fixture.Create <string>()); var aatfs = new List <Aatf>() { aatf }; db.WeeeContext.Organisations.Add(org); db.WeeeContext.Aatfs.Add(aatf); await db.WeeeContext.SaveChangesAsync(); Guid?areaId = null; if (hasArea) { areaId = aatf.LocalAreaId; } Guid?panId = null; if (hasPan) { panId = aatf.PanAreaId; } var results = await db.StoredProcedures.GetAatfAeDetailsCsvData(2019, 1, aatf.CompetentAuthority.Id, areaId, panId); VerifyResult(results, aatfs); } }
public async Task GetManyByExpression_GivenGetManyByExpressionSpecification_AatfsShouldBeReturned() { using (var database = new DatabaseWrapper()) { var dataAccess = new GenericDataAccess(database.WeeeContext); var organisation = Organisation.CreateSoleTrader("Test Organisation"); var aatf1 = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var aatf2 = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var organisation2 = Organisation.CreateSoleTrader("Test Organisation 2"); var aatf3 = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation2); database.WeeeContext.Aatfs.Add(aatf1); database.WeeeContext.Aatfs.Add(aatf2); await database.WeeeContext.SaveChangesAsync(); var aatfInfo = await dataAccess.GetManyByExpression(new AatfsByOrganisationSpecification(organisation.Id)); aatfInfo.Count.Should().Be(2); aatfInfo.Where(a => Equals(aatf1)).Should().NotBeNull(); aatfInfo.Where(a => Equals(aatf2)).Should().NotBeNull(); aatfInfo.Where(a => Equals(aatf3)).Should().BeEmpty(); } }
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); } }
public async Task Execute_GivenSubmittedReturnWithNoData_DefaultDataShouldBeReturned() { using (var db = new DatabaseWrapper()) { var @return = SetupSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); db.WeeeContext.Returns.Add(@return); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetReturnNonObligatedCsvData(@return.Id); results.Count.Should().Be(14); var values = CategoryValues(); for (var countValue = 0; countValue < values.Count(); countValue++) { var value = values.ElementAt(countValue); results.ElementAt(countValue).Year.Should().Be(2019); results.ElementAt(countValue).Quarter.Should().Be("Q1"); results.ElementAt(countValue).SubmittedBy.Should() .Be($"{db.Model.AspNetUsers.First().FirstName} {db.Model.AspNetUsers.First().Surname}"); results.ElementAt(countValue).SubmittedDate.Should().Be(date); results.ElementAt(countValue).OrganisationName.Should().Be(organisation.Name); results.ElementAt(countValue).Category.Should().Be($"{countValue + 1}. {value.ToDisplayString()}"); } } }
public async Task Execute_GivenNullWeeeReceivedData_ReturnsWeeeReceivedAatfDataShouldBeNull() { using (var db = new DatabaseWrapper()) { var @return = CreateSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, @return.Organisation); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(@return.Organisation); var weeeReceived = new EA.Weee.Domain.AatfReturn.WeeeReceived(scheme, aatf, @return); var weeeReceivedAmounts = new List <WeeeReceivedAmount>() { new Domain.AatfReturn.WeeeReceivedAmount(weeeReceived, 1, null, null), new Domain.AatfReturn.WeeeReceivedAmount(weeeReceived, 2, null, null) }; db.WeeeContext.Returns.Add(@return); db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(aatf, @return)); db.WeeeContext.WeeeReceived.Add(weeeReceived); db.WeeeContext.WeeeReceivedAmount.AddRange(weeeReceivedAmounts); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetAatfSubmissions(aatf.Id, aatf.ComplianceYear); results.Count.Should().Be(1); results.ElementAt(0).WeeeReceivedHouseHold.Should().BeNull(); results.ElementAt(0).WeeeReceivedNonHouseHold.Should().BeNull(); AssertFixedPropertiesForReturn(results, db, @return); } }
public async Task Execute_GivenNonSubmittedReturn_ReturnShouldNotBeReturned() { using (var db = new DatabaseWrapper()) { var @return = ObligatedWeeeIntegrationCommon.CreateReturn(null, db.Model.AspNetUsers.First().Id, FacilityType.Aatf); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, @return.Organisation); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(@return.Organisation); var weeeReceived = new EA.Weee.Domain.AatfReturn.WeeeReceived(scheme, aatf, @return); var weeeReceivedAmounts = new List <WeeeReceivedAmount>() { new Domain.AatfReturn.WeeeReceivedAmount(weeeReceived, 1, 1, 2), }; db.WeeeContext.Returns.Add(@return); db.WeeeContext.WeeeReceived.Add(weeeReceived); db.WeeeContext.WeeeReceivedAmount.AddRange(weeeReceivedAmounts); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetAatfSubmissions(aatf.Id, aatf.ComplianceYear); results.Count.Should().Be(0); } }
private async Task <Tuple <Guid, Guid> > CreateWeeeReusedSite(AatfSiteDataAccess dataAccess, AatfAddress aatfAddress, DatabaseWrapper database) { var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(organisation); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, database.Model.AspNetUsers.First().Id); database.WeeeContext.Organisations.Add(organisation); database.WeeeContext.Schemes.Add(scheme); database.WeeeContext.Aatfs.Add(aatf); database.WeeeContext.Returns.Add(@return); await database.WeeeContext.SaveChangesAsync(); var weeeReused = new WeeeReused(aatf.Id, @return.Id); database.WeeeContext.WeeeReused.Add(weeeReused); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { database.WeeeContext.WeeeReusedAmount.Add(new WeeeReusedAmount(weeeReused, (int)category, (int)category, (int)category + 1)); } await database.WeeeContext.SaveChangesAsync(); var weeeReusedSite = new WeeeReusedSite(weeeReused, aatfAddress); await dataAccess.Submit(weeeReusedSite); return(Tuple.Create(@return.Id, aatf.Id)); }
public async Task Execute_GivenWeeeReusedData_ReturnsWeeeReusedAatfSitesShouldBeCorrect() { using (var db = new DatabaseWrapper()) { var @return = CreateSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, @return.Organisation); await CreateWeeReusedData(db, aatf, @return); var results = await db.StoredProcedures.GetAllAatfReuseSitesCsvData(2019, null, null); var filteredData = results.Where(x => x.ApprovalNumber == aatf.ApprovalNumber); filteredData.Count().Should().Be(2); filteredData.ElementAt(0).ComplianceYear.Should().Be(@return.Quarter.Year); filteredData.ElementAt(0).Quarter.Should().Be(@return.Quarter.Q.ToString()); filteredData.ElementAt(0).SubmittedDate.Date.Should().Be(@return.SubmittedDate.Value.Date); filteredData.ElementAt(0).SubmittedBy.Should().Be(db.Model.AspNetUsers.First().FirstName + " " + db.Model.AspNetUsers.First().Surname); filteredData.ElementAt(0).Name.Should().Be(aatf.Name); filteredData.ElementAt(0).ApprovalNumber.Should().Be(aatf.ApprovalNumber); filteredData.ElementAt(0).OrgName.Should().Be(aatf.Organisation.Name); filteredData.ElementAt(0).Abbreviation.Should().Be(aatf.CompetentAuthority.Abbreviation); filteredData.ElementAt(0).PanName.Should().Be(aatf.PanArea.Name); filteredData.ElementAt(0).LaName.Should().Be(aatf.LocalArea.Name); filteredData.ElementAt(0).SiteName.Should().Contain("name"); filteredData.ElementAt(0).SiteAddress.Should().Be(string.Concat("address, address2, town, county, postcode", ", ", db.WeeeContext.Countries.First().Name)); } }
public async Task Execute_GivenComplianceYearWithNoData_DefaultDataShouldBeReturned() { using (var db = new DatabaseWrapper()) { var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); db.WeeeContext.NonObligatedWeee.RemoveRange(db.WeeeContext.NonObligatedWeee); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetUkNonObligatedWeeeReceivedByComplianceYear(2019); results.Count.Should().Be(70); var values = CategoryValues(); var index = 0; foreach (var quarter in Quarters()) { for (var countValue = 0; countValue < values.Count(); countValue++) { var value = values.ElementAt(countValue); var categoryNumber = ((int)value <= 9) ? "0" + Convert.ToString((int)value) : Convert.ToString((int)value); results.ElementAt(index).Quarter.Should().Be(quarter <= 4 ? $"Q{quarter}" : "2019"); results.ElementAt(index).Category.Should().Be($"{categoryNumber}. {value.ToDisplayString()}"); results.ElementAt(index).TotalNonObligatedWeeeReceived.Should().BeNull(); results.ElementAt(index).TotalNonObligatedWeeeReceivedFromDcf.Should().BeNull(); index++; } } } }
private async Task <Guid> CreateWeeeReceivedAmounts(ObligatedReceivedDataAccess dataAccess, DatabaseWrapper database) { var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(organisation); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, database.Model.AspNetUsers.First().Id); database.WeeeContext.Organisations.Add(organisation); database.WeeeContext.Schemes.Add(scheme); database.WeeeContext.Aatfs.Add(aatf); database.WeeeContext.Returns.Add(@return); await database.WeeeContext.SaveChangesAsync(); var weeeReceived = new WeeeReceived(scheme, aatf, @return); var weeeReceivedAmount = new List <WeeeReceivedAmount>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { weeeReceivedAmount.Add(new WeeeReceivedAmount(weeeReceived, (int)category, (int)category, (int)category + 1)); } await dataAccess.Submit(weeeReceivedAmount); return(@return.Id); }
public async Task Execute_GivenAatfWithNoDataAndSubmittedReturn_DefaultDataShouldBeReturned() { using (var db = new DatabaseWrapper()) { var @return = SetupSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(aatf, @return)); db.WeeeContext.Aatfs.Add(aatf); db.WeeeContext.Returns.Add(@return); await db.WeeeContext.SaveChangesAsync(); db.WeeeContext.ReturnReportOns.Add(new Domain.AatfReturn.ReturnReportOn(@return.Id, 1)); db.WeeeContext.ReturnReportOns.Add(new Domain.AatfReturn.ReturnReportOn(@return.Id, 2)); db.WeeeContext.ReturnReportOns.Add(new Domain.AatfReturn.ReturnReportOn(@return.Id, 3)); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetReturnObligatedCsvData(@return.Id); results.Rows.Count.Should().Be(28); for (var countValue = 0; countValue < CategoryValues().Count(); countValue++) { var value = CategoryValues().ElementAt(countValue); var categoryNumber = (value.CategoryId <= 9) ? "0" + Convert.ToString(value.CategoryId) : Convert.ToString(value.CategoryId); AssertSubmittedRow(results, aatf, db, countValue, $"{categoryNumber}. {value.CategoryDisplay}", B2C); } results.Dispose(); } }
public async Task CanCreateReturnReportOnEntry() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new GenericDataAccess(context); var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var @return = await CreateReturn(context, database, organisation); var questions = context.ReportOnQuestions.ToList(); var returnReportOn = new List <ReturnReportOn>(); foreach (var question in questions) { returnReportOn.Add(new ReturnReportOn(@return.Id, question.Id)); } await dataAccess.AddMany <ReturnReportOn>(returnReportOn); var result = context.ReturnReportOns.Where(r => r.ReturnId == @return.Id).ToList(); result.Count.Should().Be(questions.Count); foreach (var question in questions) { result.Where(r => r.ReportOnQuestionId == question.Id).ToList().Count.Should().Be(1); } } }
private static Return CreateSubmittedReturn(DatabaseWrapper db) { var @return = ObligatedWeeeIntegrationCommon.CreateReturn(null, db.Model.AspNetUsers.First().Id, FacilityType.Aatf); @return.UpdateSubmitted(db.Model.AspNetUsers.First().Id, false); return(@return); }
private Aatf SetupAatfWithApprovalDate(DatabaseWrapper db, DateTime date, string name) { var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, organisation); aatf.UpdateDetails(name, aatf.CompetentAuthority, aatf.ApprovalNumber, aatf.AatfStatus, aatf.Organisation, aatf.Size, date, aatf.LocalArea, aatf.PanArea); return(aatf); }
public async Task Execute_GivenWeeeSentOnData_ReturnsWeeeSentOnAatfDataShouldBeCorrect() { using (var db = new DatabaseWrapper()) { var @return = CreateSubmittedReturn(db); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(db, @return.Organisation); var weeeSentOn = new EA.Weee.Domain.AatfReturn.WeeeSentOn(ObligatedWeeeIntegrationCommon.CreateAatfAddress(db), aatf, @return); var weeeSentOnAmounts = new List <WeeeSentOnAmount>() { new Domain.AatfReturn.WeeeSentOnAmount(weeeSentOn, 1, 1, 2), new Domain.AatfReturn.WeeeSentOnAmount(weeeSentOn, 2, 3, 4) }; db.WeeeContext.Returns.Add(@return); db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(aatf, @return)); db.WeeeContext.WeeeSentOn.Add(weeeSentOn); db.WeeeContext.WeeeSentOnAmount.AddRange(weeeSentOnAmounts); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetAatfSubmissions(aatf.Id, aatf.ComplianceYear); results.Count.Should().Be(1); results.ElementAt(0).WeeeSentOnHouseHold.Should().Be(4); results.ElementAt(0).WeeeSentOnNonHouseHold.Should().Be(6); AssertFixedPropertiesForReturn(results, db, @return); } }
public async Task GetAatfsDataAccess_ReturnsAatfsList() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var dataAccess = new GetAatfsDataAccess(database.WeeeContext); var genericDataAccess = new GenericDataAccess(database.WeeeContext); var competentAuthorityDataAccess = new CommonDataAccess(database.WeeeContext); var competentAuthority = await competentAuthorityDataAccess.FetchCompetentAuthority(CompetentAuthority.England); var country = await database.WeeeContext.Countries.SingleAsync(c => c.Name == "UK - England"); var aatfContact = new AatfContact("first", "last", "position", "address1", "address2", "town", "county", "postcode", country, "telephone", "email"); var organisation = Organisation.CreatePartnership("Koalas"); var aatfAddress = AddressHelper.GetAatfAddress(database); var aatfSize = AatfSize.Large; var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); await genericDataAccess.Add <Aatf>(aatf); var aatfList = await dataAccess.GetAatfs(); aatfList.Should().Contain(aatf); } }
private Return CreateSubmittedReturn(DatabaseWrapper db, EA.Weee.Domain.Organisation.Organisation organisation) { var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, db.Model.AspNetUsers.First().Id, FacilityType.Aatf); @return.UpdateSubmitted(db.Model.AspNetUsers.First().Id, false); return(@return); }
public async Task RemoveReturnScheme_GivenSchemeIdsAndReturn_EntitiesShouldBeRemoved() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var domainHelper = new DomainHelper(database.WeeeContext); var dataAccess = new ReturnSchemeDataAccess(database.WeeeContext); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(null, database.Model.AspNetUsers.First().Id, FacilityType.Aatf); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, @return.Organisation); var scheme = new EA.Weee.Domain.Scheme.Scheme(@return.Organisation); var weeeReceived = new EA.Weee.Domain.AatfReturn.WeeeReceived(scheme, aatf, @return); var weeeReceivedAmounts = new Domain.AatfReturn.WeeeReceivedAmount(weeeReceived, 1, null, null); var returnScheme = new Domain.AatfReturn.ReturnScheme(scheme, @return); database.WeeeContext.Returns.Add(@return); database.WeeeContext.Organisations.Add(@return.Organisation); database.WeeeContext.Aatfs.Add(aatf); database.WeeeContext.Schemes.Add(scheme); database.WeeeContext.WeeeReceived.Add(weeeReceived); database.WeeeContext.WeeeReceivedAmount.Add(weeeReceivedAmounts); database.WeeeContext.ReturnScheme.Add(returnScheme); await database.WeeeContext.SaveChangesAsync(); await dataAccess.RemoveReturnScheme(new List <Guid>() { scheme.Id }, @return.Id); database.WeeeContext.ReturnScheme.Count(r => r.SchemeId == scheme.Id).Should().Be(0); database.WeeeContext.WeeeReceived.Count(r => r.SchemeId == scheme.Id).Should().Be(0); database.WeeeContext.WeeeReceivedAmount.Count(r => r.WeeeReceived.Id == weeeReceived.Id).Should().Be(0); database.WeeeContext.Schemes.Count(s => s.Id == scheme.Id).Should().Be(1); database.WeeeContext.Returns.Count(r => r.Id == @return.Id).Should().Be(1); } }
public async Task FetchObligatedWeeeForReturn_ReturnedListShouldContainAllTonnagesFromRequest() { using (var database = new DatabaseWrapper()) { var companyName = "Test Name" + Guid.NewGuid(); var tradingName = "Test Trading Name" + Guid.NewGuid(); const string companyRegistrationNumber = "ABC12345"; var organisation = Organisation.CreateRegisteredCompany(companyName, companyRegistrationNumber, tradingName); var @return = new Return(organisation, new Quarter(2019, QuarterType.Q1), database.Model.AspNetUsers.First().Id, FacilityType.Aatf); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); database.WeeeContext.Organisations.Add(organisation); database.WeeeContext.Aatfs.Add(aatf); database.WeeeContext.Returns.Add(@return); await database.WeeeContext.SaveChangesAsync(); var addObligatedReusedDataAccess = new ObligatedReusedDataAccess(database.WeeeContext); var categoryValues = new List <ObligatedValue>(); var weeeReused = new WeeeReused(aatf.Id, @return.Id); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { categoryValues.Add(new ObligatedValue(Guid.NewGuid(), (int)category, (int)category, (int)category)); } var obligatedReusedRequest = new AddObligatedReused() { AatfId = aatf.Id, ReturnId = @return.Id, OrganisationId = organisation.Id, CategoryValues = categoryValues }; var weeeReusedAmount = new List <WeeeReusedAmount>(); foreach (var categoryValue in obligatedReusedRequest.CategoryValues) { weeeReusedAmount.Add(new WeeeReusedAmount(weeeReused, categoryValue.CategoryId, categoryValue.HouseholdTonnage, categoryValue.NonHouseholdTonnage)); } var obligateReusedDataAccess = new ObligatedReusedDataAccess(database.WeeeContext); await obligateReusedDataAccess.Submit(weeeReusedAmount); var fetchDataAccess = new FetchObligatedWeeeForReturnDataAccess(database.WeeeContext); var reusedTonnageList = await fetchDataAccess.FetchObligatedWeeeReusedForReturn(@return.Id); var reusedNonHouseholdList = reusedTonnageList.Select(t => t.NonHouseholdTonnage); var reusedHouseholdList = reusedTonnageList.Select(t => t.HouseholdTonnage); foreach (var category in weeeReusedAmount) { reusedNonHouseholdList.Should().Contain(category.NonHouseholdTonnage); reusedHouseholdList.Should().Contain(category.HouseholdTonnage); } } }
public Aatf CreateAatf(DatabaseWrapper database, Organisation organisation, DateTime approvalDate, int count, string cA) { var aatfContact = ObligatedWeeeIntegrationCommon.CreateDefaultContact(database.WeeeContext.Countries.First()); var aatfAddress = ObligatedWeeeIntegrationCommon.CreateAatfAddress(database); var aatf = new Aatf("aatfname" + count, database.WeeeContext.UKCompetentAuthorities.First(c => c.Abbreviation == cA), "number", AatfStatus.Approved, organisation, aatfAddress, AatfSize.Large, approvalDate, aatfContact, FacilityType.Aatf, 2019, database.WeeeContext.LocalAreas.First(), database.WeeeContext.PanAreas.First()); return(aatf); }
private Return SetupCreatedReturn(DatabaseWrapper db) { SystemTime.Freeze(date); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, db.Model.AspNetUsers.First().Id, FacilityType.Aatf); SystemTime.Unfreeze(); return(@return); }
public async Task Execute_GivenAatfWithApprovalDateExpectedToReportAndResubmissionCreatedAndResubmissionsRequested_RecordDataIsAsExpected() { using (var db = new DatabaseWrapper()) { var date = new DateTime(2019, 1, 1, 11, 10, 1); SystemTime.Freeze(date); var organisation = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>()); var aatf = new Aatf(fixture.Create <string>(), GetAuthority(db), fixture.Create <string>().Substring(0, 10), AatfStatus.Approved, organisation, ObligatedWeeeIntegrationCommon.CreateAatfAddress(db), AatfSize.Large, Convert.ToDateTime("01/02/2019"), ObligatedWeeeIntegrationCommon.CreateDefaultContact(db.WeeeContext.Countries.First()), FacilityType.Aatf, 2019, db.WeeeContext.LocalAreas.First(), db.WeeeContext.PanAreas.First()); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, db.Model.AspNetUsers.First().Id, FacilityType.Aatf, 2019, QuarterType.Q1); @return.UpdateSubmitted(db.Model.AspNetUsers.First().Id, false); SystemTime.Unfreeze(); SystemTime.Freeze(date.Date.AddDays(1)); var @return2 = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, db.Model.AspNetUsers.First().Id, FacilityType.Aatf, 2019, QuarterType.Q1); SystemTime.Unfreeze(); db.WeeeContext.Aatfs.Add(aatf); db.WeeeContext.Returns.Add(@return); db.WeeeContext.Returns.Add(@return2); db.WeeeContext.ReturnAatfs.Add(new ReturnAatf(aatf, @return)); await db.WeeeContext.SaveChangesAsync(); var results = await db.StoredProcedures.GetAatfAeReturnDataCsvData(2019, 1, 1, null, null, null, null, true); var initialSubmission = results.Where(x => x.AatfId == aatf.Id).ElementAt(0); initialSubmission.ApprovalNumber.Should().Be(aatf.ApprovalNumber); initialSubmission.CompetentAuthorityAbbr.Should().Be("EA"); initialSubmission.Name.Should().Be(aatf.Name); initialSubmission.OrganisationName.Should().Be(organisation.OrganisationName); initialSubmission.CreatedDate.Should().Be(date); initialSubmission.ReturnStatus.Should().Be("Submitted"); initialSubmission.SubmittedBy.Should().Be($"{db.Model.AspNetUsers.First().FirstName} {db.Model.AspNetUsers.First().Surname}"); initialSubmission.SubmittedDate.Should().Be(date); initialSubmission.ReSubmission.Should().Be("First submission"); var resubmission = results.Where(x => x.AatfId == aatf.Id).ElementAt(1); resubmission.ApprovalNumber.Should().Be(aatf.ApprovalNumber); resubmission.CompetentAuthorityAbbr.Should().Be("EA"); resubmission.Name.Should().Be(aatf.Name); resubmission.OrganisationName.Should().Be(organisation.OrganisationName); resubmission.CreatedDate.Should().Be(date.Date.AddDays(1)); resubmission.ReturnStatus.Should().Be("Started"); resubmission.SubmittedBy.Should().BeNullOrWhiteSpace(); resubmission.SubmittedDate.Should().BeNull(); resubmission.ReSubmission.Should().Be("Resubmission"); } }
private Return SetupSubmittedReturn(DatabaseWrapper db, QuarterType quarterType) { SystemTime.Freeze(date); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, db.Model.AspNetUsers.First().Id, FacilityType.Aatf, 2019, quarterType); @return.UpdateSubmitted(db.Model.AspNetUsers.First().Id, false); SystemTime.Unfreeze(); return(@return); }
private static async Task <AatfAddress> CreateAddress(DatabaseWrapper database) { var address = ObligatedWeeeIntegrationCommon.CreateAatfAddress(database); database.WeeeContext.AatfAddress.Add(address); await database.WeeeContext.SaveChangesAsync(); return(address); }
private static async Task <Scheme> CreateScheme(WeeeContext context, Organisation organisation) { var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(organisation); context.Schemes.Add(scheme); await context.SaveChangesAsync(); return(scheme); }
private static async Task <Aatf> CreateAatf(DatabaseWrapper database, Domain.AatfReturn.Return @return) { var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, @return.Organisation); database.WeeeContext.Aatfs.Add(aatf); await database.WeeeContext.SaveChangesAsync(); return(aatf); }