public async Task Then_Gets_Frameworks_From_Courses_Api(
            GetFrameworksQuery query,
            GetFrameworksListResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockApiClient,
            GetFrameworksQueryHandler handler)
        {
            mockApiClient
            .Setup(client => client.Get <GetFrameworksListResponse>(It.IsAny <GetFrameworksRequest>()))
            .ReturnsAsync(apiResponse);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Frameworks.Should().BeEquivalentTo(apiResponse.Frameworks);
        }
        public async Task <IActionResult> GetFrameworks()
        {
            try
            {
                var result = await _mediator.Send(new GetFrameworksQuery());

                var response = new GetFrameworksListResponse
                {
                    Frameworks = result.Frameworks.Select(c => (GetFrameworkResponse)c)
                };

                return(Ok(response));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error getting list of frameworks");
                return(BadRequest());
            }
        }
Пример #3
0
        public async Task <IActionResult> GetFrameworks()
        {
            try
            {
                var queryResult = await _mediator.Send(new GetFrameworksQuery());

                var model = new GetFrameworksListResponse
                {
                    Frameworks = queryResult.Frameworks.Select(c => (GetFrameworkResponse)c).ToList()
                };

                return(Ok(model));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error attempting to get list of frameworks");
                return(BadRequest());
            }
        }
        public void Then_Gets_All_Active_Frameworks_With_Funding_Periods_From_Courses_Api(
            GetFrameworkCoursesQuery query,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockCoursesApiClient,
            GetFrameworkCoursesQueryHandler handler)
        {
            //Arrange
            var fundingPeriods = new List <GetFrameworksListItem.FundingPeriod>
            {
                new GetFrameworksListItem.FundingPeriod {
                    EffectiveFrom = DateTime.Today.AddDays(-1), EffectiveTo = DateTime.Today.AddDays(1), FundingCap = 10
                }
            };
            var frameworksList = new GetFrameworksListResponse
            {
                Frameworks = new List <GetFrameworksListItem>
                {
                    new GetFrameworksListItem {
                        Id = "1", IsActiveFramework = true, FundingPeriods = fundingPeriods
                    },
                    new GetFrameworksListItem {
                        Id = "2", IsActiveFramework = false, FundingPeriods = fundingPeriods
                    },
                    new GetFrameworksListItem {
                        Id = "3", IsActiveFramework = true, FundingPeriods = fundingPeriods
                    },
                    new GetFrameworksListItem {
                        Id = "4", IsActiveFramework = true, FundingPeriods = new List <GetFrameworksListItem.FundingPeriod>()
                    }
                }
            };

            mockCoursesApiClient.Setup(client =>
                                       client.Get <GetFrameworksListResponse>(It.IsAny <GetFrameworksRequest>()))
            .ReturnsAsync(frameworksList);

            //Act
            var actual = handler.Handle(query, CancellationToken.None);

            //Assert
            Assert.AreEqual(2, actual.Result.Frameworks.Count());
            Assert.AreEqual("1", actual.Result.Frameworks.First().Id);
            Assert.AreEqual("3", actual.Result.Frameworks.Last().Id);
        }
        public async Task Then_Gets_Frameworks_From_Courses_Api(
            GetTrainingProgrammesQuery query,
            GetFrameworksListResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockApiClient,
            GetTrainingProgrammesQueryHandler handler)
        {
            foreach (var framework in apiResponse.Frameworks)
            {
                framework.Level = (int)ApprenticeshipLevel.Advanced;
            }

            mockApiClient
            .Setup(client => client.Get <GetFrameworksListResponse>(It.IsAny <GetFrameworksRequest>()))
            .ReturnsAsync(apiResponse);
            mockApiClient
            .Setup(client => client.Get <GetStandardsListResponse>(It.IsAny <GetActiveStandardsListRequest>()))
            .ReturnsAsync(new GetStandardsListResponse());

            var result = await handler.Handle(query, CancellationToken.None);

            result.TrainingProgrammes.Should().BeEquivalentTo(apiResponse.Frameworks.Select(item => (TrainingProgramme)item));
        }