示例#1
0
            public async Task <DetailsViewModelMapperFixture> Map()
            {
                var apiClient = new Mock <ICommitmentsApiClient>();

                apiClient.Setup(x => x.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(ApiResponse);

                apiClient.Setup(x => x.GetPriceEpisodes(It.IsAny <long>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(PriceEpisodesApiResponse);

                apiClient.Setup(x => x.GetApprenticeshipUpdates(It.IsAny <long>(), It.IsAny <GetApprenticeshipUpdatesRequest>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(() => GetApprenticeshipUpdatesResponse);

                apiClient.Setup(x => x.GetApprenticeshipDatalocksStatus(It.IsAny <long>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(GetDataLocksResponse);

                apiClient.Setup(x => x.GetChangeOfPartyRequests(It.IsAny <long>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(GetChangeOfPartyRequestsResponse);

                _sut = new DetailsViewModelMapper(apiClient.Object, _encodingService.Object, _featureToggleService.Object, Mock.Of <ILogger <DetailsViewModelMapper> >());

                Result = await _sut.Map(Source);

                return(this);
            }
        public DetailsViewModelMapperTestsFixture()
        {
            _autoFixture = new Fixture();

            Cohort = _autoFixture.Build <GetCohortResponse>().Without(x => x.TransferSenderId).Without(x => x.ChangeOfPartyRequestId).Create();
            AccountLegalEntityResponse = _autoFixture.Create <AccountLegalEntityResponse>();
            LegalEntityViewModel       = _autoFixture.Create <LegalEntityViewModel>();

            var draftApprenticeships = CreateDraftApprenticeshipDtos(_autoFixture);

            _autoFixture.Register(() => draftApprenticeships);
            DraftApprenticeshipsResponse = _autoFixture.Create <GetDraftApprenticeshipsResponse>();

            CommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            CommitmentsApiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(Cohort);
            CommitmentsApiClient.Setup(x => x.GetDraftApprenticeships(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(DraftApprenticeshipsResponse);
            CommitmentsApiClient.Setup(x => x.GetAccountLegalEntity(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(AccountLegalEntityResponse);

            AccountApiClient = new Mock <IAccountApiClient>();
            AccountApiClient.Setup(x => x.GetLegalEntity(It.IsAny <string>(), It.IsAny <long>())).ReturnsAsync(LegalEntityViewModel);

            _fundingPeriods = new List <TrainingProgrammeFundingPeriod>
            {
                new TrainingProgrammeFundingPeriod {
                    EffectiveFrom = _startFundingPeriod, EffectiveTo = _endFundingPeriod, FundingCap = 1000
                },
                new TrainingProgrammeFundingPeriod {
                    EffectiveFrom = _startFundingPeriod.AddMonths(1), EffectiveTo = _endFundingPeriod.AddMonths(1), FundingCap = 500
                }
            };
            _trainingProgramme = new TrainingProgramme {
                EffectiveFrom = DefaultStartDate, EffectiveTo = DefaultStartDate.AddYears(1), FundingPeriods = _fundingPeriods
            };

            CommitmentsApiClient.Setup(x => x.GetTrainingProgramme(It.Is <string>(c => !string.IsNullOrEmpty(c)), CancellationToken.None))
            .ReturnsAsync(new GetTrainingProgrammeResponse {
                TrainingProgramme = _trainingProgramme
            });
            CommitmentsApiClient.Setup(x => x.GetTrainingProgramme("no-course", CancellationToken.None))
            .ThrowsAsync(new RestHttpClientException(new HttpResponseMessage(HttpStatusCode.NotFound)
            {
                RequestMessage = new HttpRequestMessage(),
                ReasonPhrase   = "Url not found"
            }, "Course not found"));

            EncodingService = new Mock <IEncodingService>();
            SetEncodingOfApprenticeIds();

            Mapper = new DetailsViewModelMapper(CommitmentsApiClient.Object, EncodingService.Object, AccountApiClient.Object);
            Source = _autoFixture.Create <DetailsRequest>();
        }