Example #1
0
        public async Task Then_Gets_Standards_List_From_Mediator(
            List <int> routeIds,
            List <int> levels,
            string keyword,
            OrderBy orderBy,
            StandardFilter filter,
            GetStandardsListResult queryResult,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] StandardsController controller)
        {
            filter = StandardFilter.None;
            mockMediator
            .Setup(mediator => mediator.Send(
                       It.Is <GetStandardsListQuery>(query =>
                                                     query.Keyword == keyword &&
                                                     query.RouteIds.Equals(routeIds) &&
                                                     query.Levels.Equals(levels) &&
                                                     query.OrderBy.Equals(orderBy) &&
                                                     query.Filter.Equals(filter)),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(queryResult);

            var controllerResult = await controller.GetList(keyword, routeIds, levels, orderBy, filter) as ObjectResult;

            var model = controllerResult.Value as GetStandardsListResponse;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            model.Standards.Should().BeEquivalentTo(queryResult.Standards, StandardToGetStandardResponseOptions.Exclusions);
            model.Total.Should().Be(queryResult.Total);
            model.TotalFiltered.Should().Be(queryResult.TotalFiltered);
        }
        public async Task Then_Sends_GetStandardsListQuery_To_Mediator(
            [Frozen] Mock <IMediator> mockMediator,
            GetStandardsListResult queryResult,
            [Greedy] ExportController controller)
        {
            mockMediator.Setup(mediator => mediator.Send(
                                   It.Is <GetStandardsListQuery>(query => query.Filter.Equals(StandardFilter.None)),
                                   It.IsAny <CancellationToken>()))
            .ReturnsAsync(queryResult);

            var controllerResult = await controller.Index() as ObjectResult;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            mockMediator.Verify(x => x.Send(It.IsAny <GetStandardsListQuery>(), It.IsAny <CancellationToken>()), Times.Once);
            var model = controllerResult.Value as GetStandardsExportResponse;

            model.Standards.Should().BeEquivalentTo(queryResult.Standards);
        }
        public async Task Then_GetStandardOptionsList(GetStandardsListResult queryResult,
                                                      [Frozen] Mock <IMediator> mockMediator,
                                                      [Greedy] OptionsController controller)
        {
            mockMediator
            .Setup(mediator => mediator.Send(It.Is <GetStandardsListQuery>(query =>
                                                                           query.Filter.Equals(StandardFilter.Active)), It.IsAny <CancellationToken>()))
            .ReturnsAsync(queryResult);

            var controllerResponse = await controller.GetStandardOptionsList() as ObjectResult;

            var model = controllerResponse.Value as GetStandardOptionsListResponse;

            controllerResponse.StatusCode.Should().Be((int)HttpStatusCode.OK);

            model.StandardOptions.Should().BeEquivalentTo(queryResult.Standards.Select(standard => new GetStandardOptionsResponse
            {
                StandardUId          = standard.StandardUId,
                IfateReferenceNumber = standard.IfateReferenceNumber,
                LarsCode             = standard.LarsCode,
                Version = standard.Version,
                Options = standard.Options
            }).ToList());
        }