public void SimpleSaveAndUpdateTest()
        {
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);

            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.Draft;
            // Changed from PendingQA to Draft because PendingQA is not still in the db
            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.Address.Postcode           = "CV1 2WT";
            vacancy.Address.County             = "West Midlands";
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.FrameworkCodeName          = null;
            vacancy.SectorCodeName             = "ALB";
            vacancy.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            var entity = writeRepository.Create(vacancy);

            vacancy.VacancyId        = entity.VacancyId;
            vacancy.TrainingProvided = null;
            writeRepository.Update(vacancy);
        }
Exemple #2
0
        public void WhenCreating_ItShouldAddTheEntity()
        {
            var repository = new VacancyRepository(new InMemoryRepositoryStore <Vacancy>());

            var vacancyId = Guid.NewGuid();

            repository.Create(vacancyId, "user");
        }
        public void GetMultiLocationTest()
        {
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancyReadRepository readRepository = new VacancyRepository(_connection, _mapper,
                                                                          _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);

            IVacancyLocationWriteRepository locationWriteRepository = new VacancyLocationRepository(_connection, _mapper,
                                                                                                    _logger.Object);

            IVacancyLocationReadRepository locationReadRepository = new VacancyLocationRepository(_connection, _mapper,
                                                                                                  _logger.Object);

            var vacancy = CreateValidDomainVacancy();

            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.Address.Postcode           = null;
            vacancy.Address.County             = null;
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.IsEmployerLocationMainApprenticeshipLocation = false;
            vacancy.ContractOwnerId = SeedData.Providers.HopwoodHallCollege.ProviderId;

            vacancy = writeRepository.Create(vacancy);

            var vacancyLocations = new List <VacancyLocation>
            {
                new VacancyLocation
                {
                    VacancyId = vacancy.VacancyId,
                    Address   = new PostalAddress
                    {
                        Postcode = "SW2 4NT",
                        County   = "West Midlands"
                    }
                },
                new VacancyLocation
                {
                    VacancyId = vacancy.VacancyId,
                    Address   = new PostalAddress
                    {
                        Postcode = "B26 2LW",
                        County   = "West Midlands"
                    }
                }
            };

            locationWriteRepository.Create(vacancyLocations);

            var retrievedLocations = locationReadRepository.GetForVacancyId(vacancy.VacancyId);

            retrievedLocations.Should().HaveCount(vacancyLocations.Count);
            retrievedLocations.Exists(x => x.Address.Postcode == "SW2 4NT").Should().BeTrue();
            retrievedLocations.Exists(x => x.Address.Postcode == "B26 2LW").Should().BeTrue();
        }
 public ResumeAdderForm(DataService service, Applicant applicant)
 {
     this.service   = service;
     this.applicant = applicant;
     this.appRepos  = new ApplicantRepository(this.service);
     this.empRepos  = new EmployerRepository(this.service);
     this.vacRepos  = new VacancyRepository(this.service);
     this.resRepos  = new ResumeRepository(this.service);
     this.reqRepos  = new RequestRepository(this.service);
     InitializeComponent();
 }
 public VacancyEditorForm(DataService service, Employer employer, Vacancy vacancy)
 {
     this.service  = service;
     this.employer = employer;
     this.vacancy  = vacancy;
     this.appRepos = new ApplicantRepository(this.service);
     this.empRepos = new EmployerRepository(this.service);
     this.vacRepos = new VacancyRepository(this.service);
     this.resRepos = new ResumeRepository(this.service);
     this.reqRepos = new RequestRepository(this.service);
     InitializeComponent();
 }
 public EmployerMainForm(DataService service, Employer employer)
 {
     this.service   = service;
     this.employer  = employer;
     this.appRepos  = new ApplicantRepository(this.service);
     this.empRepos  = new EmployerRepository(this.service);
     this.vacRepos  = new VacancyRepository(this.service);
     this.resRepos  = new ResumeRepository(this.service);
     this.reqRepos  = new RequestRepository(this.service);
     this.vacancies = vacRepos.VacanciesByLogin(this.employer.Login);
     this.resumes   = resRepos.ShownResumes();
     this.requests  = reqRepos.RequestsByEmployer(vacRepos, this.employer.Login);
     InitializeComponent();
 }
Exemple #7
0
 public ApplicantMainForm(DataService service, Applicant applicant)
 {
     this.service   = service;
     this.applicant = applicant;
     this.appRepos  = new ApplicantRepository(this.service);
     this.empRepos  = new EmployerRepository(this.service);
     this.vacRepos  = new VacancyRepository(this.service);
     this.resRepos  = new ResumeRepository(this.service);
     this.reqRepos  = new RequestRepository(this.service);
     this.resumes   = resRepos.ResumesByLogin(this.applicant.Login);
     this.vacancies = vacRepos.ShownVacancies();
     this.requests  = reqRepos.RequestByApplicant(this.resRepos, this.applicant.Login);
     InitializeComponent();
 }
Exemple #8
0
        public static ContentService CreateContentService()
        {
            IUnitOfWork             uow = new EFUnitOfWork();
            IArticleRepository      articleRepository      = new ArticleRepository(uow);
            ISiteNodeRepository     siteNodeRepository     = new SiteNodeRepository(uow);
            INewsRepository         newsRepository         = new NewsRepository(uow);
            ICompanyRepository      companyRepository      = new CompanyRepository(uow);
            IIdeaRepository         ideaRepository         = new IdeaRepository(uow);
            ICommentRepository      commentRepository      = new CommentRepository(uow);
            IVacancyRepository      vacancyRepository      = new VacancyRepository(uow);
            IAnnouncementRepository announcementRepository = new AnnouncementRepository(uow);

            return(new ContentService(articleRepository, siteNodeRepository, newsRepository, companyRepository, ideaRepository,
                                      commentRepository, vacancyRepository, announcementRepository, uow, HttpContext.Current));
        }
        public void CreatedDateTimeTest()
        {
            var now = new DateTime(2016, 3, 16);

            _dateTimeService.Setup(ds => ds.UtcNow).Returns(now);

            IVacancyReadRepository readRepository = new VacancyRepository(_connection, _mapper,
                                                                          _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);

            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.Draft;
            // Changed from PendingQA to Draft because PendingQA is not still in the db
            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.Address.Postcode           = "CV1 2WT";
            vacancy.Address.County             = "West Midlands";
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.FrameworkCodeName          = null;
            vacancy.SectorCodeName             = "ALB";
            vacancy.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            vacancy        = writeRepository.Create(vacancy);
            vacancy.Status = VacancyStatus.Submitted;
            vacancy        = writeRepository.Update(vacancy);
            vacancy.Status = VacancyStatus.Referred;
            vacancy        = writeRepository.Update(vacancy);
            vacancy.Status = VacancyStatus.Submitted;
            vacancy        = writeRepository.Update(vacancy);
            vacancy.Status = VacancyStatus.Live;
            vacancy        = writeRepository.Update(vacancy);

            var entity = readRepository.GetByReferenceNumber(vacancy.VacancyReferenceNumber);

            entity.CreatedDateTime.Should().Be(now);
        }
        public VacancyApplicationsMigrationProcessor(IVacancyApplicationsUpdater vacancyApplicationsUpdater, IApplicationMappers applicationMappers, IGenericSyncRespository genericSyncRespository, IGetOpenConnection sourceDatabase, IGetOpenConnection targetDatabase, IConfigurationService configurationService, ILogService logService)
        {
            _vacancyApplicationsUpdater = vacancyApplicationsUpdater;
            _applicationMappers         = applicationMappers;
            _genericSyncRespository     = genericSyncRespository;
            _targetDatabase             = targetDatabase;
            _logService = logService;

            _vacancyRepository                       = new VacancyRepository(targetDatabase);
            _candidateRepository                     = new CandidateRepository(targetDatabase);
            _sourceApplicationRepository             = new ApplicationRepository(sourceDatabase);
            _sourceApplicationHistoryRepository      = new ApplicationHistoryRepository(sourceDatabase, _logService);
            _sourceSubVacancyRepository              = new SubVacancyRepository(sourceDatabase);
            _destinationApplicationRepository        = new ApplicationRepository(targetDatabase);
            _destinationApplicationHistoryRepository = new ApplicationHistoryRepository(targetDatabase, _logService);
            _schoolAttendedRepository                = new SchoolAttendedRepository(targetDatabase);
            _destinationSubVacancyRepository         = new SubVacancyRepository(targetDatabase);
            _vacancyApplicationsRepository           = new VacancyApplicationsRepository(_vacancyApplicationsUpdater.CollectionName, configurationService, logService);
            _updateVacancyApplicationsRepository     = new UpdateVacancyApplicationsRepository(_vacancyApplicationsUpdater.CollectionName, configurationService, logService);
        }
        public CandidateMigrationProcessor(ICandidateMappers candidateMappers, SyncRepository syncRepository, IGenericSyncRespository genericSyncRespository, IGetOpenConnection targetDatabase, IConfigurationService configurationService, ILogService logService)
        {
            _candidateMappers       = candidateMappers;
            _syncRepository         = syncRepository;
            _genericSyncRespository = genericSyncRespository;
            _targetDatabase         = targetDatabase;
            _logService             = logService;

            _vacancyRepository          = new VacancyRepository(targetDatabase);
            _localAuthorityRepository   = new LocalAuthorityRepository(targetDatabase);
            _candidateRepository        = new CandidateRepository(targetDatabase);
            _schoolAttendedRepository   = new SchoolAttendedRepository(targetDatabase);
            _candidateHistoryRepository = new CandidateHistoryRepository(targetDatabase);
            _candidateUserRepository    = new CandidateUserRepository(configurationService, _logService);
            _userRepository             = new UserRepository(configurationService, logService);

            var configuration = configurationService.Get <MigrateFromFaaToAvmsPlusConfiguration>();

            _anonymiseData = configuration.AnonymiseData;
        }
        public void IncrementNumberOfClickThroughs()
        {
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancyReadRepository readRepository = new VacancyRepository(_connection, _mapper,
                                                                          _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);


            var vacancy = CreateValidDomainVacancy();

            vacancy.VacancyGuid = Guid.NewGuid();
            vacancy.Title       = "Test";
            vacancy.Status      = VacancyStatus.Draft;
            // Changed from PendingQA to Draft because PendingQA is not still in the db
            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.Address.Postcode           = "CV1 2WT";
            vacancy.Address.County             = "West Midlands";
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.FrameworkCodeName          = null;
            vacancy.SectorCodeName             = "ALB";
            vacancy.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;
            vacancy.Duration         = 2;
            vacancy.DurationType     = DurationType.Years;
            vacancy.ExpectedDuration = "2 years";

            vacancy.NoOfOfflineApplicants = 0;

            vacancy = writeRepository.Create(vacancy);

            writeRepository.IncrementOfflineApplicationClickThrough(vacancy.VacancyId);
            writeRepository.IncrementOfflineApplicationClickThrough(vacancy.VacancyId);
            writeRepository.IncrementOfflineApplicationClickThrough(vacancy.VacancyId);
            writeRepository.IncrementOfflineApplicationClickThrough(vacancy.VacancyId);
            writeRepository.IncrementOfflineApplicationClickThrough(vacancy.VacancyId);

            var entity = readRepository.Get(vacancy.VacancyId);

            entity.NoOfOfflineApplicants.Should().Be(5);
        }
        public void GetByIdsTest()
        {
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancyReadRepository readRepository = new VacancyRepository(_connection, _mapper,
                                                                          _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            var summaryRepository = new VacancySummaryRepository(_connection);

            var vacancy1 = CreateValidDomainVacancy();

            vacancy1.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy1.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy1.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            var vacancy2 = CreateValidDomainVacancy();

            vacancy2.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy2.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy2.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            var vacancy3 = CreateValidDomainVacancy();

            vacancy3.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy3.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy3.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;

            vacancy1 = writeRepository.Create(vacancy1);
            vacancy2 = writeRepository.Create(vacancy2);
            vacancy3 = writeRepository.Create(vacancy3);

            var vacancies = summaryRepository.GetByIds(new[] { vacancy1.VacancyId, vacancy2.VacancyId, vacancy3.VacancyId });

            vacancies.Count.Should().Be(3);
            foreach (var vacancySummary in vacancies)
            {
                vacancySummary.VacancyId.Should().NotBe(0);
            }
        }
        public void SimpleGetTest()
        {
            IVacancyReadRepository readRepository = new VacancyRepository(_connection, _mapper,
                                                                          _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);
            IVacancyWriteRepository writeRepository = new VacancyRepository(_connection, _mapper,
                                                                            _dateTimeService.Object, _logger.Object, _currentUserService.Object, _configurationService.Object);

            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.Draft;
            // Changed from PendingQA to Draft because PendingQA is not still in the db
            vacancy.VacancyManagerId           = SeedData.ProviderSites.HopwoodCampus.ProviderSiteId;
            vacancy.Address.Postcode           = "CV1 2WT";
            vacancy.Address.County             = "West Midlands";
            vacancy.VacancyOwnerRelationshipId = SeedData.VacancyOwnerRelationships.TestOne.VacancyOwnerRelationshipId;
            vacancy.FrameworkCodeName          = null;
            vacancy.SectorCodeName             = "ALB";
            vacancy.ContractOwnerId            = SeedData.Providers.HopwoodHallCollege.ProviderId;
            vacancy.Duration         = 2;
            vacancy.DurationType     = DurationType.Years;
            vacancy.ExpectedDuration = "2 years";

            writeRepository.Create(vacancy);

            var entity = readRepository.GetByReferenceNumber(vacancy.VacancyReferenceNumber);

            entity.AdditionalLocationInformationComment = "AdditionalLocationInformationComment";
            writeRepository.Update(entity);
            entity = readRepository.GetByReferenceNumber(vacancy.VacancyReferenceNumber);

            entity.ShouldBeEquivalentTo(vacancy, options =>
                                        ForShallowSave(options)
                                        .Excluding(x => x.SelectedMemberPath.EndsWith("Comment"))
                                        .Excluding(x => x.VacancyId)
                                        .Excluding(x => x.SectorCodeName) // what is this?
                                        .Excluding(x => x.Address.PostalAddressId)
                                        .Excluding(x => x.Address.ValidationSourceCode)
                                        .Excluding(x => x.Address.ValidationSourceKeyValue)
                                        .Excluding(x => x.Address.DateValidated)
                                        .Excluding(x => x.Address.County) // do a DB lookup
                                        .Excluding(x => x.LastEditedById) // Get from VacancyHistory table (not yet implemented)
                                        .Excluding(x => x.ClosingDate)
                                        .Excluding(x => x.PossibleStartDate)
                                        .Excluding(x => x.DateFirstSubmitted)
                                        .Excluding(x => x.UpdatedDateTime)
                                        .Excluding(x => x.CreatedDateTime)
                                        .Excluding(x => x.CreatedByProviderUsername)
                                        .Excluding(x => x.VacancyLocationType)
                                        .Excluding(x => x.OtherInformation)
                                        .Excluding(x => x.LiveClosingDate)
                                        .Excluding(x => x.SyntheticUpdatedDateTime)
                                        .Excluding(x => x.EmployerName));

            entity.AdditionalLocationInformationComment.Should().Be("AdditionalLocationInformationComment");
        }
 public VacancyController(UserRepository userRepository, IFileProvider[] fileProviders, VacancyRepository vacancyRepository)
     : base(userRepository, fileProviders)
 {
     this.vacancyRepository = vacancyRepository;
 }
        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);
        }
Exemple #17
0
 public VacancyController(LockerDbContext lockerDbContext)
 {
     _dbContext   = lockerDbContext;
     _vacancyRepo = new VacancyRepository(_dbContext);
 }
 public VacancyService()
 {
     _vacancyRepository = new VacancyRepository();
 }