public async Task <bool> HandleAsync(AddObligatedReused message) { authorization.EnsureCanAccessExternalArea(); var aatfWeeeReused = new WeeeReused( message.AatfId, message.ReturnId); var aatfWeeeReusedAmount = new List <WeeeReusedAmount>(); foreach (var categoryValue in message.CategoryValues) { aatfWeeeReusedAmount.Add(new WeeeReusedAmount(aatfWeeeReused, categoryValue.CategoryId, categoryValue.HouseholdTonnage, categoryValue.NonHouseholdTonnage)); } await obligatedReusedDataAccess.Submit(aatfWeeeReusedAmount); return(true); }
public async Task HandleAsync_WithValidInput_SubmittedIsCalledCorrectly() { var aatf = A.Fake <Aatf>(); var aatfReturn = ReturnHelper.GetReturn(); var weeeReused = new WeeeReused( aatf.Id, aatfReturn.Id); var weeeReusedAmount = new List <WeeeReusedAmount>(); var categoryValues = new List <ObligatedValue>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { categoryValues.Add(new ObligatedValue(Guid.NewGuid(), (int)category, (int)category, (int)category)); } var obligatedWeeeRequest = new AddObligatedReused { AatfId = aatf.Id, ReturnId = aatfReturn.Id, OrganisationId = aatfReturn.Organisation.Id, CategoryValues = categoryValues }; foreach (var categoryValue in obligatedWeeeRequest.CategoryValues) { weeeReusedAmount.Add(new WeeeReusedAmount(weeeReused, categoryValue.CategoryId, categoryValue.HouseholdTonnage, categoryValue.NonHouseholdTonnage)); } var requestHandler = new AddObligatedReusedHandler(authorization, addObligatedReusedDataAccess); await requestHandler.HandleAsync(obligatedWeeeRequest); A.CallTo(() => addObligatedReusedDataAccess.Submit(A <List <WeeeReusedAmount> > .That.IsSameAs(weeeReusedAmount))); }