public async Task CareerPathSegmentServiceCreateReturnsSuccessWhenSegmentCreated() { // arrange var careerPathSegmentModel = A.Fake <CareerPathSegmentModel>(); A.CallTo(() => repository.UpsertAsync(A <CareerPathSegmentModel> .Ignored)).Returns(HttpStatusCode.Created); // act var result = await careerPathSegmentService.UpsertAsync(careerPathSegmentModel).ConfigureAwait(false); // assert A.CallTo(() => repository.UpsertAsync(A <CareerPathSegmentModel> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => jobProfileSegmentRefreshService.SendMessageAsync(A <RefreshJobProfileSegmentServiceBusModel> .Ignored)).MustHaveHappenedOnceExactly(); Assert.Equal(HttpStatusCode.Created, result); }
public async Task <int> RefreshCoursesAndUpdateJobProfileAsync(Guid documentId) { logger.LogInformation($"{nameof(RefreshCoursesAndUpdateJobProfileAsync)} has been called for document {documentId}"); var currentOpportunitiesSegmentModel = await repository.GetAsync(d => d.DocumentId == documentId).ConfigureAwait(false); var numberPulled = await RefreshCoursesAsync(currentOpportunitiesSegmentModel).ConfigureAwait(false); var refreshJobProfileSegmentServiceBusModel = mapper.Map <RefreshJobProfileSegmentServiceBusModel>(currentOpportunitiesSegmentModel); await jobProfileSegmentRefreshService.SendMessageAsync(refreshJobProfileSegmentServiceBusModel).ConfigureAwait(false); return(numberPulled); }
private async Task <HttpStatusCode> UpsertAndRefreshSegmentModel(JobProfileOverviewSegmentModel existingSegmentModel) { var result = await repository.UpsertAsync(existingSegmentModel).ConfigureAwait(false); if (result == HttpStatusCode.OK || result == HttpStatusCode.Created) { var refreshJobProfileSegmentServiceBusModel = mapper.Map <RefreshJobProfileSegmentServiceBusModel>(existingSegmentModel); await jobProfileSegmentRefreshService.SendMessageAsync(refreshJobProfileSegmentServiceBusModel).ConfigureAwait(false); } return(result); }
public async Task RefreshApprenticeshipVacanciesAndUpdateJobProfileSendsMsg() { //arrange A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <CurrentOpportunitiesSegmentModel, bool> > > .Ignored)).Returns(currentOpportunitiesSegmentModel); var courseCurrentOpportunitiesRefresh = new CourseCurrentOpportunitiesRefresh(fakeLogger, fakeRepository, fakeCourseSearchClient, fakeMapper, courseSearchSettings, fakejobProfileSegmentRefreshService); //Act _ = await courseCurrentOpportunitiesRefresh.RefreshCoursesAndUpdateJobProfileAsync(A.Dummy <Guid>()).ConfigureAwait(false); //Asserts A.CallTo(() => fakejobProfileSegmentRefreshService.SendMessageAsync(A <RefreshJobProfileSegmentServiceBusModel> .Ignored)).MustHaveHappenedOnceExactly(); }
public async Task PatchUniformReturnsSuccessWhenMessageActionIsPublished() { // Arrange var model = GetPatchUniformModel(); var existingModel = GetJobProfileTasksSegmentModel(); var fakeRepository = A.Fake <ICosmosRepository <JobProfileTasksSegmentModel> >(); A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileTasksSegmentModel, bool> > > .Ignored)).Returns(existingModel); A.CallTo(() => fakeRepository.UpsertAsync(A <JobProfileTasksSegmentModel> .Ignored)).Returns(HttpStatusCode.OK); var segmentService = new JobProfileTasksSegmentService(fakeRepository, mapper, jobProfileSegmentRefreshService); // Act var result = await segmentService.PatchUniformAsync(model, jobProfileId).ConfigureAwait(false); // Assert A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileTasksSegmentModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeRepository.UpsertAsync(A <JobProfileTasksSegmentModel> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => jobProfileSegmentRefreshService.SendMessageAsync(A <RefreshJobProfileSegmentServiceBusModel> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => mapper.Map <Uniform>(A <PatchUniformModel> .Ignored)).MustHaveHappenedOnceExactly(); Assert.Equal(HttpStatusCode.OK, result); }
private async Task <HttpStatusCode> UpsertAndRefreshSegmentModel(CurrentOpportunitiesSegmentModel existingSegmentModel) { var result = await repository.UpsertAsync(existingSegmentModel).ConfigureAwait(false); int numberOfRefreshFailures = 0; if (result == HttpStatusCode.Created || result == HttpStatusCode.OK) { var refreshJobProfileSegmentServiceBusModel = mapper.Map <RefreshJobProfileSegmentServiceBusModel>(existingSegmentModel); numberOfRefreshFailures += await TryRefresh(() => aVCurrentOpportunatiesRefresh.RefreshApprenticeshipVacanciesAsync(existingSegmentModel.DocumentId), existingSegmentModel.CanonicalName).ConfigureAwait(false); numberOfRefreshFailures += await TryRefresh(() => courseCurrentOpportunitiesRefresh.RefreshCoursesAsync(existingSegmentModel.DocumentId), existingSegmentModel.CanonicalName).ConfigureAwait(false); if (numberOfRefreshFailures <= 1) { await jobProfileSegmentRefreshService.SendMessageAsync(refreshJobProfileSegmentServiceBusModel).ConfigureAwait(false); } } return(result); }
public async Task <HttpStatusCode> UpsertAsync(CareerPathSegmentModel careerPathSegmentModel) { if (careerPathSegmentModel == null) { throw new ArgumentNullException(nameof(careerPathSegmentModel)); } if (careerPathSegmentModel.Data == null) { careerPathSegmentModel.Data = new CareerPathSegmentDataModel(); } var result = await repository.UpsertAsync(careerPathSegmentModel).ConfigureAwait(false); if (result == HttpStatusCode.OK || result == HttpStatusCode.Created) { var refreshJobProfileSegmentServiceBusModel = mapper.Map <RefreshJobProfileSegmentServiceBusModel>(careerPathSegmentModel); await jobProfileSegmentRefreshService.SendMessageAsync(refreshJobProfileSegmentServiceBusModel).ConfigureAwait(false); } return(result); }