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