public void SetWorkshopCompleteDate() { Project project = GetProject(); EvaluationService service = new EvaluationService(fixture.context); Evaluation evaluation = service.Create("eval_name", project, ""); System.DateTimeOffset testStartDate = System.DateTimeOffset.UtcNow; Assert.Null(evaluation.WorkshopCompleteDate); evaluation.Progression = Progression.Workshop; var exceptionProgress = Assert.Throws <System.InvalidOperationException> (() => service.SetWorkshopCompleteDate(evaluation)); Assert.Contains( $"WorkshopCompleteDate requires an evaluation on FollowUp; it is: {evaluation.Progression}", exceptionProgress.Message); evaluation.Progression = Progression.FollowUp; service.SetWorkshopCompleteDate(evaluation); Assert.True(testStartDate < evaluation.WorkshopCompleteDate); var exceptionPreviouslySet = Assert.Throws <System.InvalidOperationException> (() => service.SetWorkshopCompleteDate(evaluation)); Assert.Contains( $"Completion date already set as: {evaluation.WorkshopCompleteDate}", exceptionPreviouslySet.Message); }
public Evaluation ProgressEvaluation(string evaluationId, Progression newProgression) { Evaluation evaluation = _evaluationService.GetEvaluation(evaluationId); Role[] canBePerformedBy = { Role.Facilitator }; AssertCanPerformMutation(evaluation, canBePerformedBy); _evaluationService.ProgressEvaluation(evaluation, newProgression); _participantService.ProgressAllParticipants(evaluation, newProgression); if (newProgression.Equals(Progression.FollowUp)) { _evaluationService.SetWorkshopCompleteDate(evaluation); _answerService.CreateFollowUpAnswers(evaluation); } return(evaluation); }