Exemple #1
0
        public async Task Then_Returns_The_Apprenticeships(
            long accountId,
            long accountLegalEntityId,
            DateTime startDateFrom,
            DateTime startDateTo,
            GetApprenticeshipListResponse response,
            [Frozen] Mock <ICommitmentsApiClient <CommitmentsConfiguration> > client,
            [Greedy] CommitmentsService sut)
        {
            client.Setup(x => x.Get <GetApprenticeshipListResponse>(It.Is <IGetApiRequest>(p =>
                                                                                           p.GetUrl == $"api/apprenticeships?accountId={accountId}&accountLegalEntityId={accountLegalEntityId}&startDateRangeFrom={WebUtility.UrlEncode(startDateFrom.ToString("u"))}&startDateRangeTo={WebUtility.UrlEncode(startDateTo.ToString("u"))}")))
            .ReturnsAsync(response);

            var result = await sut.Apprenticeships(accountId, accountLegalEntityId, startDateFrom, startDateTo);

            result.Should().BeEquivalentTo(response.Apprenticeships);
        }
        public async Task Then_The_Eligible_Apprenticeships_Are_Returned(
            GetEligibleApprenticeshipsSearchQuery query,
            GetApprenticeshipListResponse response,
            ApprenticeshipItem[] items,
            GetIncentiveDetailsResponse incentiveDetails,
            [Frozen] Mock <ICommitmentsService> commitmentsService,
            [Frozen] Mock <IEmployerIncentivesService> employerIncentivesService,
            GetEligibleApprenticeshipsSearchHandler handler
            )
        {
            employerIncentivesService.Setup(x => x.GetIncentiveDetails()).ReturnsAsync(incentiveDetails);

            commitmentsService.Setup(x =>
                                     x.Apprenticeships(query.AccountId, query.AccountLegalEntityId, incentiveDetails.EligibilityStartDate, incentiveDetails.EligibilityEndDate))
            .ReturnsAsync(items);

            employerIncentivesService.Setup(x =>
                                            x.GetEligibleApprenticeships(It.Is <IEnumerable <ApprenticeshipItem> >(c => c.Count().Equals(response.Apprenticeships.Count())))).ReturnsAsync(items);

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

            actual.Apprentices.Should().BeEquivalentTo(items);
        }