public void Then_Maps_Fields_Appropriately(
            StandardDetailResponse source)
        {
            var response = (GetStandardDetailsResponse)source;

            response.Should().BeEquivalentTo(source);
        }
        public void And_If_StandardDates_Is_Null_Then_Mapped_Field_Is_Null(
            StandardDetailResponse source)
        {
            source.StandardDates = null;
            var response = (GetStandardDetailsResponse)source;

            response.StandardDates.Should().BeNull();
        }
        public async Task Then_Gets_Specific_Standard_From_Courses_Api(
            GetStandardDetailsQuery query,
            StandardDetailResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockApiClient,
            GetStandardDetailsQueryHandler handler)
        {
            mockApiClient
            .Setup(client => client.Get <StandardDetailResponse>(It.IsAny <GetStandardDetailsByIdRequest>()))
            .ReturnsAsync(apiResponse);

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

            result.StandardDetails.Should().BeEquivalentTo(apiResponse);
        }
        public async Task And_There_Is_No_Funding_Data_Then_Map_TypicalDuration_From_VersionDetail(
            GetStandardDetailsQuery query,
            StandardDetailResponse apiResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockApiClient,
            GetStandardDetailsQueryHandler handler)
        {
            apiResponse.ApprenticeshipFunding = null;
            mockApiClient
            .Setup(client => client.Get <StandardDetailResponse>(It.IsAny <GetStandardDetailsByIdRequest>()))
            .ReturnsAsync(apiResponse);

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

            result.StandardDetails.TypicalDuration.Should().Be(apiResponse.VersionDetail.ProposedTypicalDuration);
        }
예제 #5
0
        public async Task When_GettingStandardOptionsByStandardId_And_OuterApiReturnsStandardDetailResponse_Then_ReturnsStandardOptions(StandardDetailResponse response, string id)
        {
            _mockOuterApiClient.Setup(client => client.Get <StandardDetailResponse>(It.Is <GetStandardByIdRequest>(x => x.Id == id)))
            .ReturnsAsync(response);

            var result = await _standardService.GetStandardOptionsByStandardId(id);

            Assert.IsInstanceOf <StandardOptions>(result);
            Assert.AreEqual(result.CourseOption, response.Options);
            Assert.AreEqual(result.StandardUId, response.StandardUId);
            Assert.AreEqual(result.StandardCode, response.LarsCode);
            Assert.AreEqual(result.StandardReference, response.IfateReferenceNumber);
            Assert.AreEqual(result.Version, response.Version.ToString("#.0"));
        }
예제 #6
0
        public async Task When_GettingStandardOptionsByStandardReferenceAndVersion_Then_UseStandardUIdToCallOuterApi(string standardReference, string version, Standard getStandardResponse, StandardDetailResponse StandardDetailResponse)
        {
            _mockStandardRepository.Setup(repository => repository.GetStandardByStandardReferenceAndVersion(standardReference, version))
            .ReturnsAsync(getStandardResponse);

            _mockOuterApiClient.Setup(client => client.Get <StandardDetailResponse>(It.Is <GetStandardByIdRequest>(x => x.Id == getStandardResponse.StandardUId)))
            .ReturnsAsync(StandardDetailResponse);

            var result = await _standardService.GetStandardOptionsByStandardReferenceAndVersion(standardReference, version);

            Assert.IsInstanceOf <StandardOptions>(result);
            _mockOuterApiClient.Verify(client => client.Get <StandardDetailResponse>(It.Is <GetStandardByIdRequest>(x => x.Id == getStandardResponse.StandardUId)), Times.Once);
        }
 public GetStandardDetailsResult(StandardDetailResponse standardDetails)
 {
     StandardDetails = standardDetails;
 }