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)); }
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)); }