public void ShouldNotErrorIfProviderVacancyHasEmployerPermission() { const long ukprn = 12345678; const string employerAccountId = "employer-account-id"; const string accountLegalEntityPublicHashedId = "1234"; var vacancy = new Vacancy { OwnerType = OwnerType.Provider, TrainingProvider = new TrainingProvider { Ukprn = ukprn }, EmployerAccountId = employerAccountId, AccountLegalEntityPublicHashedId = accountLegalEntityPublicHashedId }; MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(ukprn)).ReturnsAsync(new TrainingProviderSummary()); MockProviderRelationshipsService.Setup(p => p.HasProviderGotEmployersPermissionAsync(ukprn, employerAccountId, accountLegalEntityPublicHashedId, OperationType.Recruitment)) .ReturnsAsync(true); var result = Validator.Validate(vacancy, VacancyRuleSet.TrainingProvider); result.HasErrors.Should().BeFalse(); result.Errors.Should().HaveCount(0); }
public void Setup() { MockRecruitVacancyClient.Setup(x => x.GetVacancyAsync(Vacancy.Id)).ReturnsAsync(Vacancy); MockRecruitVacancyClient.Setup(x => x.Validate(Vacancy, ValidationRules)).Returns(new EntityValidationResult()); MockRecruitVacancyClient.Setup(x => x.UpdateDraftVacancyAsync(It.IsAny <Vacancy>(), User)); MockRecruitVacancyClient.Setup(x => x.UpdateEmployerProfileAsync(It.IsAny <EmployerProfile>(), User)); MockTrainingProviderSummaryProvider.Setup(p => p.FindAllAsync()).ReturnsAsync(new List <TrainingProviderSummary> { TrainingProviderSummaryOne, TrainingProviderSummaryTwo }); MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(TrainingProviderSummaryOne.Ukprn)) .ReturnsAsync(TrainingProviderSummaryOne); MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(TrainingProviderSummaryTwo.Ukprn)) .ReturnsAsync(TrainingProviderSummaryTwo); MockTrainingProviderService.Setup(t => t.GetProviderAsync(TrainingProviderOne.Ukprn.Value)) .ReturnsAsync(TrainingProviderOne); MockTrainingProviderService.Setup(t => t.GetProviderAsync(TrainingProviderTwo.Ukprn.Value)) .ReturnsAsync(TrainingProviderTwo); var utility = new Utility(MockRecruitVacancyClient.Object, Mock.Of <IFeature>()); Sut = new TrainingProviderOrchestrator(MockRecruitVacancyClient.Object, Mock.Of <ILogger <TrainingProviderOrchestrator> >(), Mock.Of <IReviewSummaryService>(), MockTrainingProviderSummaryProvider.Object, MockTrainingProviderService.Object, utility); }
public void ErrorIfProviderVacancyDoesNotHaveEmployerPermission() { const long ukprn = 12345678; const string employerAccountId = "employer-account-id"; const string accountLegalEntityPublicHashedId = "1234"; var vacancy = new Vacancy { OwnerType = OwnerType.Provider, TrainingProvider = new TrainingProvider { Ukprn = ukprn }, EmployerAccountId = employerAccountId, AccountLegalEntityPublicHashedId = accountLegalEntityPublicHashedId }; MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(ukprn)).ReturnsAsync(new TrainingProviderSummary()); MockProviderRelationshipsService.Setup(p => p.HasProviderGotEmployersPermissionAsync(ukprn, employerAccountId, accountLegalEntityPublicHashedId)) .ReturnsAsync(false); var result = Validator.Validate(vacancy, VacancyRuleSet.TrainingProvider); result.HasErrors.Should().BeTrue(); result.Errors.Should().HaveCount(1); result.Errors[0].PropertyName.Should().Be(string.Empty); result.Errors[0].ErrorCode.Should().Be(ErrorCodes.TrainingProviderMustHaveEmployerPermission); result.Errors[0].RuleId.Should().Be((long)VacancyRuleSet.TrainingProvider); }
public void NoErrorsWhenTrainingProviderUkprnIsValid() { var vacancy = new Vacancy { TrainingProvider = new TrainingProvider { Ukprn = 12345678 } }; MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(12345678)).ReturnsAsync(new TrainingProviderSummary()); var result = Validator.Validate(vacancy, VacancyRuleSet.TrainingProvider); result.HasErrors.Should().BeFalse(); result.Errors.Should().HaveCount(0); }
public void ErrorIfTrainingProviderIsBlocked() { var vacancy = new Vacancy { TrainingProvider = new TrainingProvider { Ukprn = 12345678 } }; MockTrainingProviderSummaryProvider.Setup(p => p.GetAsync(12345678)).ReturnsAsync(new TrainingProviderSummary()); MockBlockedOrganisationRepo.Setup(b => b.GetByOrganisationIdAsync("12345678")) .ReturnsAsync(new BlockedOrganisation { BlockedStatus = BlockedStatus.Blocked }); var result = Validator.Validate(vacancy, VacancyRuleSet.TrainingProvider); result.HasErrors.Should().BeTrue(); result.Errors.Should().HaveCount(1); result.Errors[0].PropertyName.Should().Be(nameof(vacancy.TrainingProvider)); result.Errors[0].ErrorCode.Should().Be(ErrorCodes.TrainingProviderMustNotBeBlocked); result.Errors[0].RuleId.Should().Be((long)VacancyRuleSet.TrainingProvider); }