public void And_If_Invalid_StandardUId_Then_Throw_ArgumentException(
            GetStandardDetailsQueryHandler handler)
        {
            var query = new GetStandardDetailsQuery(string.Empty);

            Func <Task> act = async() => await handler.Handle(query, CancellationToken.None);

            act.Should().Throw <ArgumentException>();
        }
        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);
        }