public void GetByParentNameForPreviewTest(string urlName, int numberOfItemsToReturn)
        {
            //Assign
            var fakeRepo = GetTestJobProfilesRelatedCareersRepository(1, true);

            //Act
            fakeRepo.GetByParentNameForPreview(urlName, numberOfItemsToReturn);

            // Assert
            A.CallTo(() => fakeDynamicContentExtensions.GetRelatedItems(A <DynamicContent> ._, A <string> ._, A <int> ._))
            .MustHaveHappened();
            A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > >
                                              .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.UrlName == urlName && item.Status == ContentLifecycleStatus.Temp))))
            .MustHaveHappened();
        }
예제 #2
0
        public void GetAllFiltersTest()
        {
            //Assign
            SetupCalls();
            var psfRepo = new PreSearchFiltersRepository <PreSearchFilter>(fakeRepository, fakeModuleConverter);

            //Act
            var result = psfRepo.GetAllFilters();

            //Assert
            A.CallTo(() => fakeRepository.GetMany(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Visible && item.Status == ContentLifecycleStatus.Live)))).MustHaveHappened();
            result.FirstOrDefault()?.Description.Should().Contain(nameof(PreSearchFilter.Description));
        }
        public void GetBySocCodeTest(bool validSoc)
        {
            //Assign
            var fakeRepo = GetTestJobProfileSocCodeRepository(validSoc);
            var socCode  = nameof(JobProfileSocCodeRepositoryTest);

            //Act
            fakeRepo.GetBySocCode(socCode);

            //Assert
            if (validSoc)
            {
                A.CallTo(() => fakeSocConverter.ConvertFrom(A <DynamicContent> ._)).MustHaveHappened();
            }
            else
            {
                A.CallTo(() => fakeSocConverter.ConvertFrom(A <DynamicContent> ._)).MustNotHaveHappened();
            }

            A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Visible && item.Status == ContentLifecycleStatus.Live && item.GetValue <string>(nameof(SocCode.SOCCode)) == socCode)))).MustHaveHappened();
        }
        public void GetApprenticeVacanciesBySocCodeTest(bool validSoc)
        {
            //Assign
            var fakeRepo = GetTestJobProfileSocCodeRepository(validSoc);
            var socCode  = nameof(JobProfileSocCodeRepositoryTest);

            //Act
            var result = fakeRepo.GetApprenticeVacanciesBySocCode(socCode);

            //Assert
            if (validSoc)
            {
                result.Should().NotBeEmpty();
            }
            else
            {
                result.Should().BeEmpty();
            }

            A.CallTo(() => fakeDynamicContentExtensions.GetRelatedParentItems(A <DynamicContent> ._, A <string> ._, A <string> ._)).MustHaveHappened();

            A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Visible && item.Status == ContentLifecycleStatus.Live && item.GetValue <string>(nameof(SocCode.SOCCode)) == socCode)))).MustHaveHappened();
        }
        public void UpdateSocOccupationalCodeTest(bool validSoc)
        {
            //Assign
            var fakeRepo            = GetTestJobProfileSocCodeRepository();
            var socCode             = new SocCode();
            var dummyDynamicContent = A.Dummy <DynamicContent>();

            // Setup Fakes
            if (validSoc)
            {
                A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > ._)).Returns(dummyDynamicContent);
            }
            else
            {
                A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > ._)).Returns(null);
            }

            A.CallTo(() => fakeRepository.GetMaster(dummyDynamicContent)).Returns(dummyDynamicContent);
            A.CallTo(() => fakeRepository.GetTemp(dummyDynamicContent)).Returns(dummyDynamicContent);
            A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).Returns(dummyDynamicContent);
            A.CallTo(() => fakeRepository.Publish(dummyDynamicContent, A <string> ._)).DoesNothing();
            A.CallTo(() => fakeRepository.Commit()).DoesNothing();
            A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).Returns(dummyDynamicContent);
            A.CallTo(() =>
                     fakeDynamicContentExtensions.SetFieldValue(dummyDynamicContent, nameof(socCode.ONetOccupationalCode), A <string> ._)).DoesNothing();

            //Act
            fakeRepo.UpdateSocOccupationalCode(socCode);

            //Assert
            if (validSoc)
            {
                A.CallTo(() => fakeRepository.GetMaster(dummyDynamicContent)).MustHaveHappened();
                A.CallTo(() => fakeRepository.GetTemp(dummyDynamicContent)).MustHaveHappened();
                A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).MustHaveHappened();
                A.CallTo(() => fakeRepository.Publish(dummyDynamicContent, A <string> ._)).MustHaveHappened();
                A.CallTo(() => fakeRepository.Commit()).MustHaveHappened();
                A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).MustHaveHappened();
                A.CallTo(() =>
                         fakeDynamicContentExtensions.SetFieldValue(dummyDynamicContent, nameof(socCode.ONetOccupationalCode), A <string> ._)).MustHaveHappened();
            }
            else
            {
                A.CallTo(() => fakeRepository.GetMaster(dummyDynamicContent)).MustNotHaveHappened();
                A.CallTo(() => fakeRepository.GetTemp(dummyDynamicContent)).MustNotHaveHappened();
                A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).MustNotHaveHappened();
                A.CallTo(() => fakeRepository.Publish(dummyDynamicContent, A <string> ._)).MustNotHaveHappened();
                A.CallTo(() => fakeRepository.Commit()).MustNotHaveHappened();
                A.CallTo(() => fakeRepository.CheckinTemp(dummyDynamicContent)).MustNotHaveHappened();
                A.CallTo(() =>
                         fakeDynamicContentExtensions.SetFieldValue(dummyDynamicContent, nameof(socCode.ONetOccupationalCode), A <string> ._)).MustNotHaveHappened();
            }

            A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Visible && item.Status == ContentLifecycleStatus.Live && item.UrlName == socCode.UrlName)))).MustHaveHappened();
        }
        public void GetLiveJobProfilesBySocCodeLockedTest(bool locked)
        {
            //Assign
            var fakeRepo = GetTestJobProfileSocCodeRepository(true);

            A.CallTo(() => fakeJpRepository.IsCheckedOut(A <DynamicContent> ._)).Returns(locked);
            var dummyJobProfiles = A.CollectionOfDummy <DynamicContent>(2).AsEnumerable().AsQueryable();

            A.CallTo(() => fakeDynamicContentExtensions.GetRelatedParentItems(A <DynamicContent> ._, A <string> ._, A <string> ._)).Returns(dummyJobProfiles);
            var socCode = nameof(JobProfileSocCodeRepositoryTest);

            //Act
            fakeRepo.GetLiveJobProfilesBySocCode(socCode);

            //Assert
            if (locked)
            {
                A.CallTo(() => fakeConverterLight.ConvertFrom(A <DynamicContent> ._)).MustNotHaveHappened();
            }
            else
            {
                A.CallTo(() => fakeConverterLight.ConvertFrom(A <DynamicContent> ._)).MustHaveHappened();
            }

            A.CallTo(() => fakeRepository.Get(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Status == ContentLifecycleStatus.Live && item.GetValue <string>(nameof(SocCode.SOCCode)) == socCode)))).MustHaveHappened();
        }
        public void GetSocCodesTest(bool validSoc)
        {
            //Assign
            var fakeRepo            = GetTestJobProfileSocCodeRepository();
            var dummyDynamicContent = A.Dummy <DynamicContent>();

            // Setup Fakes
            A.CallTo(() => fakeRepository.GetMany(A <Expression <Func <DynamicContent, bool> > > ._)).Returns(validSoc
                ? new EnumerableQuery <DynamicContent>(new List <DynamicContent> {
                dummyDynamicContent
            })
                : Enumerable.Empty <DynamicContent>().AsQueryable());

            //Act
            fakeRepo.GetSocCodes();

            //Assert
            A.CallTo(() => fakeRepository.GetMany(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Visible && item.Status == ContentLifecycleStatus.Live)))).MustHaveHappened();
        }
        public void GetJobProfileApprenticeshipVacancyReport()
        {
            //Arrange
            SetupCalls();
            var jobProfileReportRepository = new JobProfileReportRepository(fakeJobProfileRepository, fakeJobProfileApprenticeshipVacancyReportConverter, fakeApprenticeVacancyRepository, fakeApprenticeVacancyConverter, fakeDynamicContentExtensions);

            // Act
            jobProfileReportRepository.GetJobProfileApprenticeshipVacancyReport();

            // Assert
            A.CallTo(() => fakeJobProfileRepository.GetMany(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Status == ContentLifecycleStatus.Master)))).MustHaveHappened();
            A.CallTo(() => fakeApprenticeVacancyRepository.GetMany(A <Expression <Func <DynamicContent, bool> > > .That.Matches(m => LinqExpressionsTestHelper.IsExpressionEqual(m, item => item.Status == ContentLifecycleStatus.Master)))).MustHaveHappened();
            A.CallTo(() => fakeDynamicContentExtensions.SetRelatedDataSourceContext(A <IQueryable <DynamicContent> > ._)).MustHaveHappened();
        }