From 98bbb5bc9b4434205d8cbb0e2b6a2e8cb61d20c0 Mon Sep 17 00:00:00 2001 From: milanmajchrak Date: Mon, 7 Oct 2024 14:35:19 +0200 Subject: [PATCH] Updated tests following the new feature --- .../change-submitter-page.component.spec.ts | 53 ++++++++++++++++++- .../share-submission-page.component.spec.ts | 19 ++++++- .../workspaceitem-actions.component.spec.ts | 11 ++++ 3 files changed, 80 insertions(+), 3 deletions(-) diff --git a/src/app/change-submitter-page/change-submitter-page.component.spec.ts b/src/app/change-submitter-page/change-submitter-page.component.spec.ts index ca8ef63f2cb..1e1e18351b2 100644 --- a/src/app/change-submitter-page/change-submitter-page.component.spec.ts +++ b/src/app/change-submitter-page/change-submitter-page.component.spec.ts @@ -1,14 +1,63 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; - import { ChangeSubmitterPageComponent } from './change-submitter-page.component'; +import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; +import { ActivatedRoute, Router } from '@angular/router'; +import { HALEndpointService } from '../core/shared/hal-endpoint.service'; +import { RemoteDataBuildService } from '../core/cache/builders/remote-data-build.service'; +import { RequestService } from '../core/data/request.service'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { TranslateModule } from '@ngx-translate/core'; +import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; +import { RouterStub } from '../shared/testing/router.stub'; +import { of as observableOf } from 'rxjs'; +import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { getMockRequestService } from '../shared/mocks/request.service.mock'; +import { createPaginatedList } from '../shared/testing/utils.test'; +import { HALEndpointServiceStub } from '../shared/testing/hal-endpoint-service.stub'; +import { getMockRemoteDataBuildService } from '../shared/mocks/remote-data-build.service.mock'; +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../shared/mocks/dso-name.service.mock'; describe('ChangeSubmitterPageComponent', () => { let component: ChangeSubmitterPageComponent; let fixture: ComponentFixture; + let activatedRoute; + let requestService: RequestService; + let mockDataService: WorkspaceitemDataService; + let halService: HALEndpointService; + let rdbService: RemoteDataBuildService; + beforeEach(async () => { + activatedRoute = { + snapshot: { + queryParams: new Map([ + ['shareToken', 'fake-share-token'], + ]) + } + }; + requestService = getMockRequestService(); + mockDataService = jasmine.createSpyObj('WorkspaceitemDataService', { + searchBy: observableOf(createSuccessfulRemoteDataObject$(createPaginatedList([]))), + }); + halService = Object.assign(new HALEndpointServiceStub('some-url')); + rdbService = getMockRemoteDataBuildService(); + await TestBed.configureTestingModule({ - declarations: [ ChangeSubmitterPageComponent ] + declarations: [ ChangeSubmitterPageComponent ], + imports: [ + TranslateModule.forRoot() + ], + providers: [ + { provide: ActivatedRoute, useValue: activatedRoute }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: RequestService, useValue: requestService }, + { provide: WorkspaceitemDataService, useValue: mockDataService }, + { provide: HALEndpointService, useValue: halService }, + { provide: RemoteDataBuildService, useValue: rdbService }, + { provide: DSONameService, useValue: DSONameServiceMock }, + ] }) .compileComponents(); diff --git a/src/app/share-submission/share-submission-page/share-submission-page.component.spec.ts b/src/app/share-submission/share-submission-page/share-submission-page.component.spec.ts index 286b1488bef..04a1ca32bc5 100644 --- a/src/app/share-submission/share-submission-page/share-submission-page.component.spec.ts +++ b/src/app/share-submission/share-submission-page/share-submission-page.component.spec.ts @@ -1,14 +1,31 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ShareSubmissionPageComponent } from './share-submission-page.component'; +import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; describe('ShareSubmissionPageComponent', () => { let component: ShareSubmissionPageComponent; let fixture: ComponentFixture; + let activatedRoute; beforeEach(async () => { + activatedRoute = { + snapshot: { + queryParams: new Map([ + ['shareToken', 'fake-share-token'], + ]) + } + }; + await TestBed.configureTestingModule({ - declarations: [ ShareSubmissionPageComponent ] + declarations: [ ShareSubmissionPageComponent ], + imports: [ + TranslateModule.forRoot() + ], + providers: [ + { provide: ActivatedRoute, useValue: activatedRoute } + ] }) .compileComponents(); diff --git a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts index c76cce3982b..a22774748bf 100644 --- a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts @@ -27,6 +27,10 @@ import { getMockSearchService } from '../../mocks/search-service.mock'; import { SearchService } from '../../../core/shared/search/search.service'; import { AuthService } from '../../../core/auth/auth.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { HALEndpointService } from '../../../core/shared/hal-endpoint.service'; +import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service'; +import { HALEndpointServiceStub } from '../../testing/hal-endpoint-service.stub'; +import { getMockRemoteDataBuildService } from '../../mocks/remote-data-build.service.mock'; let component: WorkspaceitemActionsComponent; let fixture: ComponentFixture; @@ -35,6 +39,8 @@ let mockObject: WorkspaceItem; let notificationsServiceStub: NotificationsServiceStub; let authorizationService; let authService; +let halService: HALEndpointService; +let rdbService: RemoteDataBuildService; const mockDataService = jasmine.createSpyObj('WorkspaceitemDataService', { delete: jasmine.createSpy('delete') @@ -155,6 +161,9 @@ authService = jasmine.createSpyObj('authService', { getAuthenticatedUserFromStore: jasmine.createSpy('getAuthenticatedUserFromStore') }); +halService = Object.assign(new HALEndpointServiceStub('url')); +rdbService = getMockRemoteDataBuildService(); + describe('WorkspaceitemActionsComponent', () => { beforeEach(waitForAsync(async () => { authorizationService = jasmine.createSpyObj('authorizationService', { @@ -180,6 +189,8 @@ describe('WorkspaceitemActionsComponent', () => { { provide: RequestService, useValue: requestServce }, { provide: AuthService, useValue: authService }, { provide: AuthorizationDataService, useValue: authorizationService}, + { provide: HALEndpointService, useValue: halService }, + { provide: RemoteDataBuildService, useValue: rdbService }, NgbModal ], schemas: [NO_ERRORS_SCHEMA]