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);
        }
示例#3
0
 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;
 }