Esempio n. 1
0
        public async Task Then_The_Api_Is_Called_And_Sector_Looked_Up_And_Returns_Standards(
            int routeId,
            GetStandardsQuery query,
            GetStandardsListResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClient,
            [Frozen] Mock <ICourseService> courseService,
            GetStandardsQueryHandler handler
            )
        {
            //Arrange
            courseService
            .Setup(x => x.GetRoutes())
            .ReturnsAsync(new GetRoutesListResponse
            {
                Routes = new List <GetRoutesListItem>
                {
                    new GetRoutesListItem
                    {
                        Id   = routeId,
                        Name = query.Sector
                    }
                }
            });
            apiClient.Setup(x => x.Get <GetStandardsListResponse>(It.Is <GetAvailableToStartStandardsListRequest>(c => c.RouteIds.Contains(routeId)))).ReturnsAsync(apiResponse);

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

            //Assert
            actual.Standards.Should().BeEquivalentTo(apiResponse.Standards);
        }
        public async Task Then_Gets_Standards_From_Courses_Api(
            GetStandardsQuery query,
            GetStandardsListResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockApiClient,
            GetStandardsQueryHandler handler)
        {
            mockApiClient
            .Setup(client => client.Get <GetStandardsListResponse>(It.IsAny <GetActiveStandardsListRequest>()))
            .ReturnsAsync(apiResponse);

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

            result.Standards.Should().BeEquivalentTo(apiResponse.Standards);
        }
Esempio n. 3
0
        public async Task And_No_Id_Specified_Then_All_Standards_Returned(
            GetStandardsListResponse response,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > client,
            GetStandardsQueryHandler getStandardsQueryHandler)
        {
            var getStandardsQuery = new GetStandardsQuery();

            client
            .Setup(x => x.Get <GetStandardsListResponse>(It.IsAny <GetAvailableToStartStandardsListRequest>()))
            .ReturnsAsync(response);

            var result = await getStandardsQueryHandler.Handle(getStandardsQuery, CancellationToken.None);

            Assert.IsNotNull(result);
            Assert.AreEqual(response.Standards.Count(), result.Standards.Count());
            client.Verify(x => x.Get <GetStandardsListResponse>(It.IsAny <GetAvailableToStartStandardsListRequest>()), Times.Once);
        }
Esempio n. 4
0
        public async Task Then_If_The_Sector_Does_Not_Exist_Then_No_Standards_Are_Returned(
            GetStandardsQuery query,
            GetStandardsListResponse apiResponse,
            GetRoutesListResponse routesApiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClient,
            [Frozen] Mock <ICourseService> courseService,
            GetStandardsQueryHandler handler)
        {
            //Arrange
            courseService
            .Setup(x => x.GetRoutes())
            .ReturnsAsync(routesApiResponse);

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

            //Assert
            actual.Standards.Should().BeNull();
        }
Esempio n. 5
0
        public async Task And_Valid_Id_Specified_Then_Standard_Returned(
            GetStandardsListItem response,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > client,
            GetStandardsQueryHandler getStandardsQueryHandler)
        {
            var getStandardsQuery = new GetStandardsQuery()
            {
                StandardId = "1"
            };

            client
            .Setup(x => x.Get <GetStandardsListItem>(It.IsAny <GetStandardDetailsByIdRequest>()))
            .ReturnsAsync(response);

            var result = await getStandardsQueryHandler.Handle(getStandardsQuery, CancellationToken.None);

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Standards.Count());
        }
Esempio n. 6
0
        public async Task Then_If_The_Sectors_Cache_Is_Empty_They_Are_Looked_Up_And_Added(
            int routeId,
            GetStandardsQuery query,
            GetStandardsListResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClient,
            [Frozen] Mock <ICacheStorageService> cacheStorageService,
            GetStandardsQueryHandler handler)
        {
            //Arrange
            var sectorsApiResponse = new GetRoutesListResponse
            {
                Routes = new List <GetRoutesListItem>
                {
                    new GetRoutesListItem
                    {
                        Id   = routeId,
                        Name = query.Sector
                    }
                }
            };

            cacheStorageService
            .Setup(x => x.RetrieveFromCache <GetRoutesListResponse>(nameof(GetRoutesListResponse)))
            .ReturnsAsync((GetRoutesListResponse) default);