private async Task <Guid> CreateWeeeSentOnAmounts(ObligatedSentOnDataAccess dataAccess, DatabaseWrapper database) { var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(organisation); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var siteAddress = ObligatedWeeeIntegrationCommon.CreateAatfAddress(database); 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); database.WeeeContext.AatfAddress.Add(siteAddress); await database.WeeeContext.SaveChangesAsync(); var weeeSentOn = new WeeeSentOn(siteAddress.Id, aatf.Id, @return.Id); var weeeSentOnAmount = new List <WeeeSentOnAmount>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { weeeSentOnAmount.Add(new WeeeSentOnAmount(weeeSentOn, (int)category, (decimal?)category, (decimal?)category + 1)); } await dataAccess.Submit(weeeSentOnAmount); return(weeeSentOn.Id); }
public async void UpdateAmounts_GivenAmountToUpdate_ContextShouldContainUpdatedAmounts() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new ObligatedSentOnDataAccess(database.WeeeContext); var weeeSentOnId = await CreateWeeeSentOnAmounts(dataAccess, database); AssertValues(context, weeeSentOnId); for (var i = 1; i <= Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>().Count(); i++) { var amount = context.WeeeSentOnAmount.First(c => c.WeeeSentOn.Id == weeeSentOnId && 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.WeeeSentOnAmount.First(c => c.WeeeSentOn.Id == weeeSentOnId && c.CategoryId == i); amount.HouseholdTonnage.Should().Be(i + 1); amount.NonHouseholdTonnage.Should().Be(i + 2); } } }
public AddObligatedSentOnDataAccessTests() { context = A.Fake <WeeeContext>(); dbContextHelper = new DbContextHelper(); dataAccess = new ObligatedSentOnDataAccess(context); aatfId = Guid.NewGuid(); returnId = Guid.NewGuid(); weeeSentOnId = Guid.NewGuid(); siteAddressId = Guid.NewGuid(); }
public async Task CanCreateWeeeSentOnAmountEntry() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new ObligatedSentOnDataAccess(database.WeeeContext); var weeeSentOnId = await CreateWeeeSentOnAmounts(dataAccess, database); AssertValues(context, weeeSentOnId); } }
private static async Task CreateWeeeSentOnAmounts( ObligatedSentOnDataAccess dataAccess, Return @return, Aatf aatf, AatfAddress siteAddress, AatfAddress operatorAddress) { var weeeSentOn = new WeeeSentOn(operatorAddress, siteAddress, aatf, @return); var weeeSentOnAmount = new List <WeeeSentOnAmount>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { weeeSentOnAmount.Add(new WeeeSentOnAmount(weeeSentOn, (int)category, (decimal?)category, (decimal?)category + 1)); } await dataAccess.Submit(weeeSentOnAmount); }