public async Task RefreshJobProfileMessageNotSentWhenCourseAndAVServiceFails() { // arrange var currentOpportunitiesSegmentModel = A.Fake <CurrentOpportunitiesSegmentModel>(); A.CallTo(() => FakeRepository.UpsertAsync(A <CurrentOpportunitiesSegmentModel> .Ignored)).Returns(HttpStatusCode.OK); A.CallTo(() => FakeAVCurrentOpportunatiesRefresh.RefreshApprenticeshipVacanciesAsync(currentOpportunitiesSegmentModel.DocumentId)).Throws(new HttpRequestException()); A.CallTo(() => FakeCourseCurrentOpportunitiesRefresh.RefreshCoursesAsync(currentOpportunitiesSegmentModel.DocumentId)).Throws(new HttpRequestException()); // act var result = await CurrentOpportunitiesSegmentService.UpsertAsync(currentOpportunitiesSegmentModel).ConfigureAwait(false); // asserts A.CallTo(() => FakeJobProfileSegmentRefreshService.SendMessageAsync(A <RefreshJobProfileSegmentServiceBusModel> .Ignored)).MustNotHaveHappened(); }
public async Task CurrentOpportunitiesSegmentServiceUpdateCoursesAndAppreticeshipsWhenUpserted(HttpStatusCode upsertReturnCode, bool shouldRefresh) { // arrange var currentOpportunitiesSegmentModel = A.Fake <CurrentOpportunitiesSegmentModel>(); A.CallTo(() => FakeRepository.UpsertAsync(A <CurrentOpportunitiesSegmentModel> .Ignored)).Returns(upsertReturnCode); // act var result = await CurrentOpportunitiesSegmentService.UpsertAsync(currentOpportunitiesSegmentModel).ConfigureAwait(false); // assert A.CallTo(() => FakeRepository.UpsertAsync(A <CurrentOpportunitiesSegmentModel> .Ignored)).MustHaveHappenedOnceExactly(); if (shouldRefresh) { A.CallTo(() => FakeCourseCurrentOpportunitiesRefresh.RefreshCoursesAsync(A <Guid> .Ignored)).MustHaveHappened(); A.CallTo(() => FakeAVCurrentOpportunatiesRefresh.RefreshApprenticeshipVacanciesAsync(A <Guid> .Ignored)).MustHaveHappened(); } else { A.CallTo(() => FakeCourseCurrentOpportunitiesRefresh.RefreshCoursesAsync(A <Guid> .Ignored)).MustNotHaveHappened(); A.CallTo(() => FakeAVCurrentOpportunatiesRefresh.RefreshApprenticeshipVacanciesAsync(A <Guid> .Ignored)).MustNotHaveHappened(); } }