private static TrainingProgrammeStatus?GetStatusOn(DateTime startDate, GetTrainingProgrammeQueryResult result) { var dateOnly = startDate; if (result.TrainingProgramme.EffectiveFrom.HasValue && result.TrainingProgramme.EffectiveFrom.Value.FirstOfMonth() > dateOnly) { return(TrainingProgrammeStatus.Pending); } if (!result.TrainingProgramme.EffectiveTo.HasValue || result.TrainingProgramme.EffectiveTo.Value >= dateOnly) { return(TrainingProgrammeStatus.Active); } return(TrainingProgrammeStatus.Expired); }
public async Task Then_The_Request_Is_Passed_To_Mediator_And_Data_Returned( string id, GetTrainingProgrammeQueryResult result, [Frozen] Mock <IMediator> mediator, TrainingProgrammeController controller) { mediator.Setup(x => x.Send(It.Is <GetTrainingProgrammeQuery>(c => c.Id.Equals(id)), CancellationToken.None)).ReturnsAsync(result); var actual = await controller.GetTrainingProgramme(id) as OkObjectResult;; //actual Assert.IsNotNull(actual); var model = actual.Value as GetTrainingProgrammeResponse; Assert.IsNotNull(model); model.TrainingProgramme.Should().BeEquivalentTo(result.TrainingProgramme); }