示例#1
0
        public void ShouldSaveVacancyOwnerRelationship()
        {
            // Arrange.
            var newVacancyOwnerRelationship = new VacancyOwnerRelationship
            {
                VacancyOwnerRelationshipId = 0, // zero indicates new Vacancy Party
                ProviderSiteId             = SeedData.ProviderSites.HopwoodHallCollege.ProviderSiteId,
                EmployerId          = SeedData.Employers.AwesomeInc.EmployerId,
                EmployerDescription = "Some employer description.",
                EmployerWebsiteUrl  = "http://example.com"
            };

            // Act.
            var savedVacancyOwnerRelationship = _vacancyOwnerRelationshipWriteRepository.Save(newVacancyOwnerRelationship);

            // Assert.
            savedVacancyOwnerRelationship.Should().NotBeNull();
            savedVacancyOwnerRelationship.VacancyOwnerRelationshipId.Should().NotBe(0);

            // Arrange.
            var newEmployerDescription = new string(savedVacancyOwnerRelationship.EmployerDescription.Reverse().ToArray());

            savedVacancyOwnerRelationship.EmployerDescription = newEmployerDescription;

            // Act.
            var updatedVacancyOwnerRelationship = _vacancyOwnerRelationshipWriteRepository.Save(savedVacancyOwnerRelationship);

            updatedVacancyOwnerRelationship.ShouldBeEquivalentTo(savedVacancyOwnerRelationship);
        }
        public void ShouldUpdateVacancyProviderSiteEmployerLinkIfTheVacancyAlreadyExists()
        {
            // Arrange
            var vacancyGuid                = Guid.NewGuid();
            var apprenticeshipVacancy      = new Vacancy();
            var vacancyOwnerRelationshipId = 42;
            var providerSiteId             = 1;
            var employerId = 2;
            var edsErn     = "232";
            var vacancyOwnerRelationship = new VacancyOwnerRelationship
            {
                VacancyOwnerRelationshipId = vacancyOwnerRelationshipId,
                ProviderSiteId             = providerSiteId,
                EmployerId          = employerId,
                EmployerDescription = "Description",
                EmployerWebsiteUrl  = "Url"
            };

            MockVacancyPostingService.Setup(s => s.GetVacancy(vacancyGuid)).Returns(apprenticeshipVacancy);
            MockProviderService.Setup(s => s.SaveVacancyOwnerRelationship(vacancyOwnerRelationship))
            .Returns(vacancyOwnerRelationship);
            MockProviderService.Setup(s => s.GetVacancyOwnerRelationship(providerSiteId, edsErn))
            .Returns(vacancyOwnerRelationship);
            MockEmployerService.Setup(s => s.GetEmployer(employerId, It.IsAny <bool>()))
            .Returns(new Fixture().Build <Employer>().With(e => e.EmployerId, employerId).Create());

            var provider = GetProviderProvider();

            // Act
            provider.ConfirmVacancyOwnerRelationship(new VacancyOwnerRelationshipViewModel
            {
                ProviderSiteId = providerSiteId,
                Employer       = new EmployerViewModel
                {
                    EmployerId = employerId,
                    EdsUrn     = edsErn,
                    Address    = new AddressViewModel()
                },
                VacancyGuid = vacancyGuid,
                IsEmployerLocationMainApprenticeshipLocation = true,
                NumberOfPositions = 4
            });

            // Assert
            MockVacancyPostingService.Verify(s => s.GetVacancy(vacancyGuid), Times.Once);
            MockProviderService.Verify(s => s.SaveVacancyOwnerRelationship(vacancyOwnerRelationship), Times.Once);
            MockVacancyPostingService.Verify(
                s =>
                s.UpdateVacancy(
                    It.Is <Vacancy>(v => v.VacancyOwnerRelationshipId == vacancyOwnerRelationshipId)), Times.Once);
        }
        public void Setup()
        {
            _providerSiteEmployerLink3 =
                new Fixture().Build <VacancyOwnerRelationship>()
                .With(l => l.ProviderSiteId, ProviderSiteId)
                .With(l => l.EmployerId, EmployerId3)
                .Create();

            _fromRepository = new List <VacancyOwnerRelationship>
            {
                _providerSiteEmployerLink3
            };

            _employerService = new Mock <IEmployerService>();
            _employerService.Setup(r => r.GetEmployers(It.IsAny <IEnumerable <int> >(), It.IsAny <bool>())).Returns(_employersFromService);
            _vacancyOwnerRelationshipReadRepository = new Mock <IVacancyOwnerRelationshipReadRepository>();
            _vacancyOwnerRelationshipReadRepository.Setup(r => r.GetByProviderSiteId(ProviderSiteId)).Returns(_fromRepository);
        }
        public VacancyOwnerRelationship Save(VacancyOwnerRelationship vacancyOwnerRelationship)
        {
            _logger.Debug("Called Mongodb to save provider site employer link with ERN={0}", vacancyOwnerRelationship.EmployerId);

            if (vacancyOwnerRelationship.VacancyOwnerRelationshipGuid == Guid.Empty)
            {
                vacancyOwnerRelationship.VacancyOwnerRelationshipGuid = Guid.NewGuid();
                vacancyOwnerRelationship.VacancyOwnerRelationshipId   = vacancyOwnerRelationship.VacancyOwnerRelationshipGuid.GetHashCode();
            }

            var mongoEntity = _mapper.Map <VacancyOwnerRelationship, MongoVacancyOwnerRelationship>(vacancyOwnerRelationship);

            Collection.Save(mongoEntity);

            _logger.Debug("Saved provider site employer link to Mongodb with ERN={0}", vacancyOwnerRelationship.EmployerId);

            return(_mapper.Map <MongoVacancyOwnerRelationship, VacancyOwnerRelationship>(mongoEntity));
        }
示例#5
0
        public static VacancyOwnerRelationshipViewModel Convert(
            this VacancyOwnerRelationship vacancyOwnerRelationship, Employer employer, Vacancy vacancy = null)
        {
            var viewModel = new VacancyOwnerRelationshipViewModel
            {
                VacancyOwnerRelationshipId = vacancyOwnerRelationship.VacancyOwnerRelationshipId,
                ProviderSiteId             = vacancyOwnerRelationship.ProviderSiteId,
                EmployerDescription        = vacancyOwnerRelationship.EmployerDescription,
                EmployerWebsiteUrl         = vacancyOwnerRelationship.EmployerWebsiteUrl,
                Employer = employer.Convert(),
                IsEmployerAddressValid = true
            };

            if (!string.IsNullOrWhiteSpace(vacancy?.EmployerAnonymousName))
            {
                viewModel.IsAnonymousEmployer          = true;
                viewModel.Employer.FullName            = vacancy.EmployerAnonymousName;
                viewModel.OriginalFullName             = employer.FullName;
                viewModel.AnonymousEmployerReason      = vacancy.EmployerAnonymousReason ?? string.Empty;
                viewModel.AnonymousEmployerDescription = vacancy.EmployerAnonymousName;
                viewModel.AnonymousAboutTheEmployer    = vacancy.AnonymousAboutTheEmployer;
            }
            return(viewModel);
        }
        public void TestFixtureSetUp()
        {
            _employer1 = new Fixture().Build <Employer>().With(e => e.EdsUrn, EdsUrn1).With(e => e.EmployerId, EmployerId1).Create();
            _employer2 = new Fixture().Build <Employer>().With(e => e.EdsUrn, EdsUrn2).With(e => e.EmployerId, EmployerId2).Create();
            _employer3 = new Fixture().Build <Employer>().With(e => e.EdsUrn, EdsUrn3).With(e => e.EmployerId, EmployerId3).Create();

            _providerSiteEmployerLink1 =
                new Fixture().Build <VacancyOwnerRelationship>()
                .With(l => l.ProviderSiteId, ProviderSiteId)
                .With(l => l.EmployerId, EmployerId1)
                .Create();
            _providerSiteEmployerLink2 =
                new Fixture().Build <VacancyOwnerRelationship>()
                .With(l => l.ProviderSiteId, ProviderSiteId)
                .With(l => l.EmployerId, EmployerId2)
                .Create();

            _employersFromService = new List <Employer>
            {
                _employer1,
                _employer2,
                _employer3
            };
        }
 public VacancyOwnerRelationship SaveVacancyOwnerRelationship(VacancyOwnerRelationship vacancyOwnerRelationship)
 {
     return(_vacancyOwnerRelationshipWriteRepository.Save(vacancyOwnerRelationship));
 }