public async Task PagesControllerCallsContentPageServiceUsingPagesRouteForOkResult(string route, int soc, string actionMethod) { // Arrange var controller = BuildController(route); var expectedResult = new JobGroupModel() { Title = "A title", }; var expectedResults = new List <JobGroupModel> { expectedResult }; var expectedViewModel = new DocumentViewModel { Title = "A title", Head = A.Dummy <HeadViewModel>(), }; A.CallTo(() => FakeJobGroupDocumentService.GetAllAsync(A <string> .Ignored)).Returns(expectedResults); A.CallTo(() => FakeJobGroupDocumentService.GetByIdAsync(A <Guid> .Ignored, A <string> .Ignored)).Returns(expectedResult); A.CallTo(() => FakeMapper.Map <DocumentViewModel>(A <JobGroupModel> .Ignored)).Returns(expectedViewModel); // Act var result = await RunControllerAction(controller, soc, actionMethod).ConfigureAwait(false); // Assert Assert.IsType <OkObjectResult>(result); A.CallTo(() => FakeJobGroupDocumentService.GetAllAsync(A <string> .Ignored)).MustHaveHappenedOnceOrLess(); A.CallTo(() => FakeJobGroupDocumentService.GetByIdAsync(A <Guid> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceOrLess(); controller.Dispose(); }
public async Task JobGroupPublishedRefreshServiceReloadItemForNonExistingJobGroupIsSuccessful() { // arrange const HttpStatusCode expectedResult = HttpStatusCode.OK; JobGroupModel? nullJobGroup = null; var getDetailResponse = new JobGroupModel { Soc = 2, Title = "A title 2", }; A.CallTo(() => fakeJobGroupApiConnector.GetDetailsAsync(A <Uri> .Ignored)).Returns(getDetailResponse); A.CallTo(() => fakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).Returns(nullJobGroup); A.CallTo(() => fakeJobGroupDocumentService.UpsertAsync(A <JobGroupModel> .Ignored)).Returns(HttpStatusCode.OK); // act var result = await jobGroupPublishedRefreshService.ReloadItemAsync(new Uri("https://somewhere.com", UriKind.Absolute)).ConfigureAwait(false); // assert A.CallTo(() => fakeJobGroupApiConnector.GetDetailsAsync(A <Uri> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeJobGroupDocumentService.DeleteAsync(A <Guid> .Ignored)).MustNotHaveHappened(); A.CallTo(() => fakeJobGroupDocumentService.UpsertAsync(A <JobGroupModel> .Ignored)).MustHaveHappenedOnceExactly(); Assert.Equal(expectedResult, result); }
public async Task JobGroupPublishedRefreshServiceReloadIsSuccessful() { // arrange const HttpStatusCode expectedResult = HttpStatusCode.OK; var existingJobGroup = A.Dummy <JobGroupModel>(); var getSummaryResponse = new List <JobGroupSummaryItemModel> { new JobGroupSummaryItemModel { Id = Guid.NewGuid(), Soc = 1, Title = "A title 1", }, new JobGroupSummaryItemModel { Id = Guid.NewGuid(), Soc = 2, Title = "A title 2", }, }; var getDetailResponse = new JobGroupModel { Id = Guid.NewGuid(), Soc = 2, Title = "A title 2", }; A.CallTo(() => fakeJobGroupApiConnector.GetSummaryAsync(A <Uri> .Ignored)).Returns(getSummaryResponse); A.CallTo(() => fakeJobGroupDocumentService.PurgeAsync()).Returns(true); A.CallTo(() => fakeJobGroupApiConnector.GetDetailsAsync(A <Uri> .Ignored)).Returns(getDetailResponse); A.CallTo(() => fakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).Returns(existingJobGroup); A.CallTo(() => fakeJobGroupDocumentService.UpsertAsync(A <JobGroupModel> .Ignored)).Returns(HttpStatusCode.OK); // act var result = await jobGroupPublishedRefreshService.ReloadAsync(new Uri("https://somewhere.com", UriKind.Absolute)).ConfigureAwait(false); // assert A.CallTo(() => fakeJobGroupApiConnector.GetSummaryAsync(A <Uri> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeJobGroupDocumentService.PurgeAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeJobGroupApiConnector.GetDetailsAsync(A <Uri> .Ignored)).MustHaveHappened(getSummaryResponse.Count, Times.Exactly); A.CallTo(() => fakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).MustHaveHappened(getSummaryResponse.Count, Times.Exactly); A.CallTo(() => fakeJobGroupDocumentService.UpsertAsync(A <JobGroupModel> .Ignored)).MustHaveHappened(getSummaryResponse.Count, Times.Exactly); Assert.Equal(expectedResult, result); }
public async Task LmiTransformationApiConnectorTestsGetDetailsReturnsSuccess() { // arrange var expectedResult = new JobGroupModel { Soc = 3543, Title = "A title", }; A.CallTo(() => fakeApiDataConnector.GetAsync <JobGroupModel>(A <HttpClient> .Ignored, A <Uri> .Ignored)).Returns(expectedResult); // act var result = await lmiTransformationApiConnector.GetDetailsAsync(new Uri("https://somewhere.com", UriKind.Absolute)).ConfigureAwait(false); // assert A.CallTo(() => fakeApiDataConnector.GetAsync <JobGroupModel>(A <HttpClient> .Ignored, A <Uri> .Ignored)).MustHaveHappenedOnceExactly(); Assert.NotNull(result); Assert.Equal(expectedResult.Soc, result?.Soc); Assert.Equal(expectedResult.Title, result?.Title); }
public async Task JobGroupApiConnectorTestsGetDetailForIdReturnsSuccess() { // arrange var expectedResult = new JobGroupModel { Soc = 3543, Title = "A title", }; A.CallTo(() => fakeApiDataConnector.GetAsync <JobGroupModel>(A <HttpClient> .Ignored, A <Uri> .Ignored)).Returns(expectedResult); // act var result = await publishedJobGroupApiConnector.GetDetailAsync(Guid.NewGuid()).ConfigureAwait(false); // assert A.CallTo(() => fakeApiDataConnector.GetAsync <JobGroupModel>(A <HttpClient> .Ignored, A <Uri> .Ignored)).MustHaveHappenedOnceExactly(); Assert.NotNull(result); Assert.Equal(expectedResult.Soc, result?.Soc); Assert.Equal(expectedResult.Title, result?.Title); }
public async Task ApiControllerGetDetailBySocReturnsSuccess() { // Arrange var getDetailResponse = new JobGroupModel { Id = Guid.NewGuid(), Soc = 1, Title = "A title 1", }; var controller = BuildApiController(); A.CallTo(() => FakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).Returns(getDetailResponse); // Act var result = await controller.Get(3543).ConfigureAwait(false); // Assert A.CallTo(() => FakeJobGroupDocumentService.GetAsync(A <Expression <Func <JobGroupModel, bool> > > .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly(); Assert.Equal(getDetailResponse, result); }
public JobGroupDataServiceTests() { jobGroupDataService = new JobGroupDataService(fakeLogger, fakeDraftJobGroupApiConnector, fakePublishedJobGroupApiConnector); draftJobGroupSummaryItemModels = new List <JobGroupSummaryItemModel> { new JobGroupSummaryItemModel { Soc = Soc1111, }, new JobGroupSummaryItemModel { Soc = Soc2222, }, }; publishedJobGroupSummaryItemModels = new List <JobGroupSummaryItemModel> { new JobGroupSummaryItemModel { Soc = Soc2222, }, new JobGroupSummaryItemModel { Soc = Soc3333, }, }; dummyDraftJobGroupModel01 = new JobGroupModel { Soc = Soc1111, }; dummyDraftJobGroupModel02 = new JobGroupModel { Soc = Soc2222, }; dummyPublishedJobGroupModel02 = new JobGroupModel { Soc = Soc2222, }; dummyPublishedJobGroupModel03 = new JobGroupModel { Soc = Soc3333, }; dummyDraftJobGroupModels = new[] { dummyDraftJobGroupModel01, dummyDraftJobGroupModel02 }; dummyPublishedJobGroupModels = new[] { dummyPublishedJobGroupModel02, dummyPublishedJobGroupModel03 }; expectedGetAllResult = new FullDeltaReportModel { DeltaReportSocs = new List <DeltaReportSocModel> { new DeltaReportSocModel { Soc = Soc1111, DraftJobGroup = dummyDraftJobGroupModel01, PublishedJobGroup = null, }, new DeltaReportSocModel { Soc = Soc2222, DraftJobGroup = dummyDraftJobGroupModel02, PublishedJobGroup = dummyPublishedJobGroupModel02, }, new DeltaReportSocModel { Soc = Soc3333, DraftJobGroup = null, PublishedJobGroup = dummyPublishedJobGroupModel03, }, }, }; expectedGetSocResult = new FullDeltaReportModel { DeltaReportSocs = new List <DeltaReportSocModel> { new DeltaReportSocModel { Soc = Soc2222, DraftJobGroup = dummyDraftJobGroupModel02, PublishedJobGroup = dummyPublishedJobGroupModel02, }, }, }; }