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); }
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); }
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(); }
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()); }
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);