Ejemplo n.º 1
0
        public async Task Then_Apprenticeships_Are_Returned_Correctly()
        {
            var result = await _handler.Handle(_query, CancellationToken.None);

            Assert.IsNotNull(result);

            Assert.AreEqual(_apiResponse.Apprenticeships.Count, result.Apprenticeships.Count());
            Assert.AreEqual(_apiResponse.TotalApprenticeshipsFound, result.TotalApprenticeshipsFound);

            var i = 0;

            foreach (var apprenticeship in result.Apprenticeships)
            {
                var expected = _apiResponse.Apprenticeships.ToArray()[i];
                Assert.AreEqual(expected.Id, apprenticeship.Id);
                Assert.AreEqual(expected.TransferSenderId, apprenticeship.TransferSenderId);
                Assert.AreEqual(expected.Uln, apprenticeship.Uln);
                Assert.AreEqual(expected.ProviderId, apprenticeship.ProviderId);
                Assert.AreEqual(expected.ProviderName, apprenticeship.ProviderName);
                Assert.AreEqual(expected.FirstName, apprenticeship.FirstName);
                Assert.AreEqual(expected.LastName, apprenticeship.LastName);
                Assert.AreEqual(expected.CourseCode, apprenticeship.CourseCode);
                Assert.AreEqual(expected.CourseName, apprenticeship.CourseName);
                Assert.AreEqual(expected.StartDate, apprenticeship.StartDate);
                Assert.AreEqual(expected.EndDate, apprenticeship.EndDate);
                Assert.AreEqual(expected.Cost, apprenticeship.Cost);
                Assert.AreEqual(expected.PledgeApplicationId, apprenticeship.PledgeApplicationId);
                Assert.AreEqual(expected.HasHadDataLockSuccess, apprenticeship.HasHadDataLockSuccess);
                Assert.AreEqual(_courseList.First().Level, apprenticeship.CourseLevel);
                i++;
            }
        }
        public async Task ThenQueriesApprenticeshipsWithEmployerIdWhenOrderingInReverse(

            [Frozen] GetApprenticeshipsQuery query,
            List <Apprenticeship> apprenticeships,
            GetApprenticeshipsQueryResult.ApprenticeshipDetails apprenticeshipDetails,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IApprenticeshipSearch> mockSearch,
            [Frozen] Mock <IMapper <Apprenticeship, GetApprenticeshipsQueryResult.ApprenticeshipDetails> > mockMapper,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField   = "test";
            query.ReverseSort = true;
            query.ProviderId  = null;

            apprenticeships[1].Cohort.EmployerAccountId = query.EmployerAccountId.Value;

            mockSearch.Setup(x => x.Find(It.IsAny <ReverseOrderedApprenticeshipSearchParameters>()))
            .ReturnsAsync(new ApprenticeshipSearchResult
            {
                Apprenticeships = apprenticeships
            });

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(new List <Apprenticeship>());

            await handler.Handle(query, CancellationToken.None);

            mockSearch.Verify(x => x.Find(It.Is <ReverseOrderedApprenticeshipSearchParameters>(sp =>
                                                                                               sp.EmployerAccountId.Equals(query.EmployerAccountId) &&
                                                                                               sp.ProviderId == null)), Times.Once);
        }
        public async Task ThenWillReturnCurrentSelectedPage(
            [Frozen] GetApprenticeshipsQuery query,
            List <Apprenticeship> apprenticeships,
            ApprenticeshipSearchResult searchResult,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IApprenticeshipSearch> mockSearch,
            [Frozen] Mock <IMapper <Apprenticeship, GetApprenticeshipsQueryResult.ApprenticeshipDetails> > mockMapper,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField   = "test";
            query.ReverseSort = true;
            query.ProviderId  = null;

            apprenticeships[1].Cohort.EmployerAccountId = query.EmployerAccountId.Value;

            mockSearch.Setup(x => x.Find(It.IsAny <ReverseOrderedApprenticeshipSearchParameters>()))
            .ReturnsAsync(new ApprenticeshipSearchResult
            {
                Apprenticeships = apprenticeships
            });

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(new List <Apprenticeship>());

            mockSearch.Setup(x => x.Find(It.IsAny <ReverseOrderedApprenticeshipSearchParameters>()))
            .ReturnsAsync(searchResult);

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

            Assert.AreEqual(searchResult.PageNumber, result.PageNumber);
        }
Ejemplo n.º 4
0
        public async Task ThenReturnUnsortedApprenticeshipsWhenNotOrdering(
            List <Apprenticeship> apprenticeships,
            [Frozen] GetApprenticeshipsQuery query,
            [Frozen] Mock <IApprenticeshipSearch> mockSearch,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IMapper <Apprenticeship, GetApprenticeshipsQueryResult.ApprenticeshipDetails> > mockMapper,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField         = "";
            query.EmployerAccountId = null;

            apprenticeships[1].Cohort.ProviderId = query.ProviderId ?? 0;

            mockSearch.Setup(x => x.Find(It.IsAny <ApprenticeshipSearchParameters>()))
            .ReturnsAsync(new ApprenticeshipSearchResult
            {
                Apprenticeships = apprenticeships
            });

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(new List <Apprenticeship>());

            await handler.Handle(query, CancellationToken.None);

            mockSearch.Verify(x => x.Find(It.Is <ApprenticeshipSearchParameters>(sp =>
                                                                                 sp.ProviderId.Equals(query.ProviderId) &&
                                                                                 sp.EmployerAccountId == null)), Times.Once);

            mockMapper
            .Verify(mapper => mapper.Map(It.IsIn(apprenticeships
                                                 .Where(apprenticeship => apprenticeship.Cohort.ProviderId == query.ProviderId))), Times.Once());
        }
Ejemplo n.º 5
0
        public async Task ThenReturnsMappedApprenticeships(
            [Frozen] GetApprenticeshipsQuery query,
            List <Apprenticeship> apprenticeships,
            [Frozen] GetApprenticeshipsQueryResult.ApprenticeshipDetails apprenticeshipDetails,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IApprenticeshipSearch> search,
            [Frozen] Mock <IMapper <Apprenticeship, GetApprenticeshipsQueryResult.ApprenticeshipDetails> > mockMapper,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField         = "";
            query.EmployerAccountId = null;

            apprenticeships[1].Cohort.ProviderId = query.ProviderId ?? 0;

            search.Setup(x => x.Find(It.IsAny <ApprenticeshipSearchParameters>()))
            .ReturnsAsync(new ApprenticeshipSearchResult
            {
                Apprenticeships = apprenticeships
            });

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(apprenticeships);

            mockMapper
            .Setup(mapper => mapper.Map(It.IsIn(apprenticeships
                                                .Where(apprenticeship => apprenticeship.Cohort.ProviderId == query.ProviderId))))
            .ReturnsAsync(apprenticeshipDetails);

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

            result.Apprenticeships.Should().AllBeEquivalentTo(apprenticeshipDetails);
        }
Ejemplo n.º 6
0
        public async Task ThenTheCommitmentRepositoryIsCalledForTheEmployer()
        {
            _mockApprenticeshipRespository.Setup(x => x.GetActiveApprenticeshipsByEmployer(It.IsAny <long>()))
            .ReturnsAsync(new ApprenticeshipsResult());

            await _handler.Handle(new GetApprenticeshipsRequest
            {
                Caller = new Caller
                {
                    CallerType = CallerType.Employer,
                    Id         = _apprenticeship.EmployerAccountId
                }
            });

            _mockApprenticeshipRespository.Verify(x => x.GetActiveApprenticeshipsByEmployer(
                                                      It.Is <long>(id => id == _apprenticeship.EmployerAccountId)), Times.Once);
        }
Ejemplo n.º 7
0
        public async Task ThenReturnsApprenticeshipsData(
            int totalApprenticeshipsFoundWithAlertsCount,
            int totalApprenticeshipsFoundCount,
            List <Apprenticeship> apprenticeships,
            GetApprenticeshipsQueryResult.ApprenticeshipDetails apprenticeshipDetails,
            [Frozen] GetApprenticeshipsQuery query,
            [Frozen] Mock <IApprenticeshipSearch> search,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IMapper <Apprenticeship, GetApprenticeshipsQueryResult.ApprenticeshipDetails> > mockMapper,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField         = "";
            query.EmployerAccountId = null;

            apprenticeships[1].Cohort.ProviderId = query.ProviderId ?? 0;

            search.Setup(x => x.Find(It.IsAny <ApprenticeshipSearchParameters>()))
            .ReturnsAsync(new ApprenticeshipSearchResult
            {
                Apprenticeships = new Apprenticeship[0],
                TotalAvailableApprenticeships       = apprenticeships.Count,
                TotalApprenticeshipsFound           = totalApprenticeshipsFoundCount,
                TotalApprenticeshipsWithAlertsFound = totalApprenticeshipsFoundWithAlertsCount
            });

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(new List <Apprenticeship>());

            mockMapper
            .Setup(mapper => mapper.Map(It.IsIn(apprenticeships
                                                .Where(apprenticeship => apprenticeship.Cohort.ProviderId == query.ProviderId))))
            .ReturnsAsync(apprenticeshipDetails);

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

            result.TotalApprenticeshipsFound.Should().Be(totalApprenticeshipsFoundCount);
            result.TotalApprenticeshipsWithAlertsFound.Should().Be(totalApprenticeshipsFoundWithAlertsCount);
            result.TotalApprenticeships.Should().Be(apprenticeships.Count);
        }
Ejemplo n.º 8
0
        public async Task ThenReturnsPageNumber(
            [Frozen] GetApprenticeshipsQuery query,
            List <Apprenticeship> apprenticeships,
            ApprenticeshipSearchResult searchResult,
            [Frozen] Mock <IProviderCommitmentsDbContext> mockContext,
            [Frozen] Mock <IApprenticeshipSearch> search,
            GetApprenticeshipsQueryHandler handler)
        {
            query.SortField         = "";
            query.EmployerAccountId = null;

            apprenticeships[1].Cohort.ProviderId = query.ProviderId ?? 0;

            search.Setup(x => x.Find(It.IsAny <ApprenticeshipSearchParameters>()))
            .ReturnsAsync(searchResult);

            mockContext
            .Setup(context => context.Apprenticeships)
            .ReturnsDbSet(apprenticeships);

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

            result.PageNumber.Should().Be(searchResult.PageNumber);
        }