public async Task HandleAsync_GivenReturn_GetPopulatedReturnShouldBeCalled(bool forSummary) { var returnId = Guid.NewGuid(); var result = await handler.HandleAsync(new GetReturn(returnId, forSummary)); A.CallTo(() => populatedReturn.GetReturnData(returnId, forSummary)).MustHaveHappened(Repeated.Exactly.Once); }
public async Task <ReturnData> HandleAsync(GetReturn message) { authorization.EnsureCanAccessExternalArea(); var returnData = await getPopulatedReturn.GetReturnData(message.ReturnId, message.ForSummary); return(returnData); }
public async Task <ReturnsData> HandleAsync(GetReturns message) { authorization.EnsureCanAccessExternalArea(); var currentDate = SystemTime.UtcNow; var systemSettings = await systemDataDataAccess.Get(); if (systemSettings.UseFixedCurrentDate) { currentDate = systemSettings.FixedCurrentDate; } var @returns = await returnDataAccess.GetByOrganisationId(message.OrganisationId); var quarter = await returnFactory.GetReturnQuarter(message.OrganisationId, message.Facility); var openQuarters = await quarterWindowFactory.GetQuarterWindowsForDate(currentDate); var returnsData = new List <ReturnData>(); foreach (var @return in @returns.Where(p => p.FacilityType.Value == (int)message.Facility)) { returnsData.Add(await getPopulatedReturn.GetReturnData(@return.Id, false)); } var returnOpenQuarters = new List <Core.DataReturns.Quarter>(); foreach (var q in openQuarters) { returnOpenQuarters.Add(new Core.DataReturns.Quarter(q.StartDate.Year, (Core.DataReturns.QuarterType)q.QuarterType)); } Core.AatfReturn.QuarterWindow nextQuarter = null; if (openQuarters.Count > 0) { var latestOpenQuarter = openQuarters.OrderByDescending(p => p.QuarterType).FirstOrDefault(); var nextWindow = await quarterWindowFactory.GetNextQuarterWindow(latestOpenQuarter.QuarterType, latestOpenQuarter.StartDate.Year); nextQuarter = new Core.AatfReturn.QuarterWindow(nextWindow.StartDate, nextWindow.EndDate, (QuarterType)nextWindow.QuarterType); } return(new ReturnsData(returnsData, quarter, returnOpenQuarters, nextQuarter, currentDate)); }
public async Task HandleAsync_GivenOrganisation_GetPopulatedReturnsShouldBeCalled() { var organisationId = Guid.NewGuid(); var returns = A.CollectionOfFake <Return>(2); foreach (var @return in returns) { @return.FacilityType = Domain.AatfReturn.FacilityType.Aatf; } A.CallTo(() => returns.ElementAt(0).Id).Returns(Guid.NewGuid()); A.CallTo(() => returns.ElementAt(1).Id).Returns(Guid.NewGuid()); A.CallTo(() => returnDataAccess.GetByOrganisationId(organisationId)).Returns(returns); var result = await handler.HandleAsync(new GetReturns(organisationId, Core.AatfReturn.FacilityType.Aatf)); A.CallTo((() => populatedReturn.GetReturnData(returns.ElementAt(0).Id, false))).MustHaveHappened(Repeated.Exactly.Once); A.CallTo((() => populatedReturn.GetReturnData(returns.ElementAt(1).Id, false))).MustHaveHappened(Repeated.Exactly.Once); }