public async Task And_Single_Epao_Then_Redirect_To_CourseEpao( PostChooseCourseRequest postRequest, GetCourseEpaosResult mediatorResult, EpaoListItem foundEpao, [Frozen] Mock <IMediator> mockMediator, [Greedy] CoursesController controller) { mediatorResult.Course = new CourseListItem(mediatorResult.Course.Id, mediatorResult.Course.Title, mediatorResult.Course.Level, false); mediatorResult.Epaos = new List <EpaoListItem> { foundEpao }; mockMediator .Setup(mediator => mediator.Send( It.Is <GetCourseEpaosQuery>(query => query.CourseId == postRequest.SelectedCourseId), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var result = await controller.PostChooseCourse(postRequest) as RedirectToRouteResult; result.RouteName.Should().Be(RouteNames.CourseEpao); result.RouteValues.Should().ContainKey("id"); result.RouteValues["id"].Should().Be(postRequest.SelectedCourseId); result.RouteValues.Should().ContainKey("epaoId"); result.RouteValues["epaoId"].Should().Be(foundEpao.EpaoId); }
public void Then_Maps_All_Properties( EpaoListItem source, List <DeliveryArea> deliveryAreas, Func <IReadOnlyList <EpaoDeliveryArea>, IReadOnlyList <DeliveryArea>, string> buildLocations) { var viewModel = new EpaoListItemViewModel(source, deliveryAreas, buildLocations); viewModel.Should().BeEquivalentTo(source, config => config.ExcludingMissingMembers()); viewModel.EffectiveFrom.Should().Be(source.EffectiveFrom); }
public EpaoListItemViewModel( EpaoListItem epao, IReadOnlyList <DeliveryArea> deliveryAreas, Func <IReadOnlyList <EpaoDeliveryArea>, IReadOnlyList <DeliveryArea>, string> buildLocations) : base(epao.DeliveryAreas, deliveryAreas, buildLocations) { EpaoId = epao.EpaoId; Name = epao.Name; City = epao.City; Postcode = epao.Postcode; EffectiveFrom = epao.EffectiveFrom; }