private async Task <Guid> CreateWeeeReusedAmounts(ObligatedReusedDataAccess 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 weeeReused = new WeeeReused(aatf.Id, @return.Id); var weeeReusedAmount = new List <WeeeReusedAmount>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { weeeReusedAmount.Add(new WeeeReusedAmount(weeeReused, (int)category, (int)category, (int)category + 1)); } await dataAccess.Submit(weeeReusedAmount); return(@return.Id); }
public async void UpdateAmounts_GivenAmountToUpdate_ContextShouldContainUpdatedAmounts() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new ObligatedReusedDataAccess(database.WeeeContext); var returnId = await CreateWeeeReusedAmounts(dataAccess, database); AssertValues(context, returnId); for (var i = 1; i <= Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>().Count(); i++) { var amount = context.WeeeReusedAmount.First(c => c.WeeeReused.ReturnId == returnId && c.CategoryId == i); await dataAccess.UpdateAmounts(amount, i + 1, i + 2); } for (var i = 1; i <= Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>().Count(); i++) { var amount = context.WeeeReusedAmount.First(c => c.WeeeReused.ReturnId == returnId && c.CategoryId == i); amount.HouseholdTonnage.Should().Be(i + 1); amount.NonHouseholdTonnage.Should().Be(i + 2); } } }
public AddObligatedReusedDataAccessTests() { context = A.Fake <WeeeContext>(); dbContextHelper = new DbContextHelper(); dataAccess = new ObligatedReusedDataAccess(context); aatfId = Guid.NewGuid(); }
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 async Task CanCreateWeeeReusedAmountEntry() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new ObligatedReusedDataAccess(database.WeeeContext); var returnId = await CreateWeeeReusedAmounts(dataAccess, database); AssertValues(context, returnId); } }
private static async Task CreateWeeeReusedAmounts( ObligatedReusedDataAccess obligatedReusedDataAccess, AatfSiteDataAccess aatfSiteDataAccess, Return @return, Aatf aatf, AatfAddress address) { var weeeReused = new WeeeReused(aatf.Id, @return.Id); var weeeReusedAmount = new List <WeeeReusedAmount>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { weeeReusedAmount.Add(new WeeeReusedAmount(weeeReused, (int)category, (int)category, (int)category + 1)); } var weeeReusedSite = new WeeeReusedSite(weeeReused, address); await obligatedReusedDataAccess.Submit(weeeReusedAmount); await aatfSiteDataAccess.Submit(weeeReusedSite); }