示例#1
0
        public void Test()
        {
            var vacanySummaryRepository = new VacancySummaryRepository(_connection);

            var query = new ApprenticeshipVacancyQuery()
            {
                RequestedPage   = 1,
                DesiredStatuses = new List <VacancyStatus>()
                {
                    VacancyStatus.Live
                },
                LatestClosingDate = DateTime.Now,
                EditedInRaa       = false,
                PageSize          = 1000
            };

            int resultCount;

            var eligibleVacancies = vacanySummaryRepository.Find(query, out resultCount);

            Assert.GreaterOrEqual(1, eligibleVacancies.Count);
        }
        public void FindTest()
        {
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancySummaryRepository summaryRepository = new VacancySummaryRepository(_connection);

            const string title       = "Vacancy title";
            var          vacancyGuid = Guid.NewGuid();

            var fixture = new Fixture();

            fixture.Customizations.Add(
                new StringGenerator(() =>
                                    Guid.NewGuid().ToString().Substring(0, 10)));

            var vacancy = CreateValidDomainVacancy();

            vacancy.VacancyGuid                = vacancyGuid;
            vacancy.Title                      = title;
            vacancy.Status                     = VacancyStatus.Live;
            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.UpdatedDateTime            = null;
            vacancy.CreatedDateTime            = DateTime.MinValue;
            vacancy.ClosingDate                = DateTime.UtcNow.AddDays(2);
            vacancy.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            writeRepository.Create(vacancy);

            int totalResultsCount;
            var findResults = summaryRepository.Find(new ApprenticeshipVacancyQuery
            {
                RequestedPage     = 1,
                LatestClosingDate = DateTime.UtcNow.AddDays(3),
                LiveDate          = DateTime.UtcNow.AddHours(-2),
                PageSize          = 10,
                DesiredStatuses   = new List <VacancyStatus> {
                    VacancyStatus.Live
                }
            }, out totalResultsCount);

            findResults.Should().HaveCount(1);
            totalResultsCount.Should().Be(1);

            findResults = summaryRepository.Find(new ApprenticeshipVacancyQuery
            {
                RequestedPage     = 1,
                LatestClosingDate = DateTime.UtcNow.AddDays(3),
                LiveDate          = DateTime.UtcNow.AddHours(-2),
                PageSize          = 10,
                DesiredStatuses   = new List <VacancyStatus> {
                    VacancyStatus.Closed
                }
            }, out totalResultsCount);

            findResults.Should().HaveCount(0);
            totalResultsCount.Should().Be(0);

            findResults = summaryRepository.Find(new ApprenticeshipVacancyQuery
            {
                RequestedPage     = 2,
                LatestClosingDate = DateTime.UtcNow.AddDays(3),
                LiveDate          = DateTime.UtcNow.AddHours(-2),
                PageSize          = 10,
                DesiredStatuses   = new List <VacancyStatus> {
                    VacancyStatus.Live
                }
            }, out totalResultsCount);

            findResults.Should().HaveCount(0);
            totalResultsCount.Should().Be(1);

            findResults = summaryRepository.Find(new ApprenticeshipVacancyQuery
            {
                RequestedPage     = 2,
                LatestClosingDate = DateTime.UtcNow.AddDays(1),
                LiveDate          = DateTime.UtcNow.AddHours(-2),
                PageSize          = 10,
                DesiredStatuses   = new List <VacancyStatus> {
                    VacancyStatus.Live
                }
            }, out totalResultsCount);

            findResults.Should().HaveCount(0);
            totalResultsCount.Should().Be(0);

            findResults = summaryRepository.Find(new ApprenticeshipVacancyQuery
            {
                RequestedPage     = 2,
                LatestClosingDate = DateTime.UtcNow.AddDays(3),
                LiveDate          = DateTime.UtcNow.AddHours(2),
                PageSize          = 10,
                DesiredStatuses   = new List <VacancyStatus> {
                    VacancyStatus.Live
                }
            }, out totalResultsCount);

            findResults.Should().HaveCount(0);
            totalResultsCount.Should().Be(0);
        }