public async Task <IActionResult> ChooseCourse(GetChooseCourseRequest request = null) { if (!string.IsNullOrEmpty(request?.SelectedCourseId)) { ModelState.AddModelError(ValidationKeys.SelectedCourseId, ValidationKeys.Messages[ValidationKeys.SelectedCourseId]); ModelState.AddModelError(ValidationKeys.SelectedCourseIdNoJs, ValidationKeys.Messages[ValidationKeys.SelectedCourseIdNoJs]); } var result = await _mediator.Send(new GetCoursesQuery()); var viewModel = new ChooseCourseViewModel { Courses = result.Courses.Select(item => (CourseListItemViewModel)item) }; return(View(viewModel)); }
public async Task And_Invalid_Then_Adds_ModelState_Error( GetChooseCourseRequest request, GetCoursesResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] CoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetCoursesQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); await controller.ChooseCourse(request); controller.ModelState.IsValid.Should().BeFalse(); controller.ModelState.ContainsKey("SelectedCourseId").Should().BeTrue(); controller.ModelState.ContainsKey("SelectedCourseIdNoJs").Should().BeTrue(); controller.ModelState["SelectedCourseId"].Errors[0].ErrorMessage .Should().Be("Enter an apprenticeship training course"); controller.ModelState["SelectedCourseIdNoJs"].Errors[0].ErrorMessage .Should().Be("Select an apprenticeship training course"); }