1+ import { Store } from '@ngxs/store' ;
2+
13import { MockComponents , MockProvider } from 'ng-mocks' ;
24
35import { ComponentFixture , TestBed } from '@angular/core/testing' ;
46import { ActivatedRoute , Router } from '@angular/router' ;
57
68import { PreprintSubmissionItemComponent } from '@osf/features/moderation/components' ;
7- import { RegistryModeration } from '@osf/features/moderation/models' ;
9+ import { PreprintSubmissionModel } from '@osf/features/moderation/models' ;
810import { CustomPaginatorComponent , IconComponent , LoadingSpinnerComponent , SelectComponent } from '@shared/components' ;
911
1012import { PreprintSubmissionsSort , SubmissionReviewStatus } from '../../enums' ;
11- import { PreprintModerationSelectors } from '../../store/preprint-moderation' ;
13+ import {
14+ GetPreprintSubmissionContributors ,
15+ LoadMorePreprintSubmissionContributors ,
16+ PreprintModerationSelectors ,
17+ } from '../../store/preprint-moderation' ;
1218
1319import { PreprintSubmissionsComponent } from './preprint-submissions.component' ;
1420
15- import { MOCK_REGISTRY_MODERATIONS } from '@testing/mocks/registry-moderation .mock' ;
21+ import { MOCK_PREPRINT_SUBMISSIONS } from '@testing/mocks/preprint-submission .mock' ;
1622import { OSFTestingModule } from '@testing/osf.testing.module' ;
1723import { ActivatedRouteMockBuilder } from '@testing/providers/route-provider.mock' ;
1824import { RouterMockBuilder } from '@testing/providers/router-provider.mock' ;
@@ -23,9 +29,10 @@ describe('PreprintSubmissionsComponent', () => {
2329 let fixture : ComponentFixture < PreprintSubmissionsComponent > ;
2430 let mockRouter : ReturnType < RouterMockBuilder [ 'build' ] > ;
2531 let mockActivatedRoute : ReturnType < ActivatedRouteMockBuilder [ 'build' ] > ;
32+ let store : Store ;
2633
2734 const mockProviderId = 'test-provider-id' ;
28- const mockSubmissions : RegistryModeration [ ] = MOCK_REGISTRY_MODERATIONS ;
35+ const mockSubmissions : PreprintSubmissionModel [ ] = MOCK_PREPRINT_SUBMISSIONS ;
2936
3037 beforeEach ( async ( ) => {
3138 mockRouter = RouterMockBuilder . create ( ) . build ( ) ;
@@ -64,6 +71,7 @@ describe('PreprintSubmissionsComponent', () => {
6471
6572 fixture = TestBed . createComponent ( PreprintSubmissionsComponent ) ;
6673 component = fixture . componentInstance ;
74+ store = TestBed . inject ( Store ) ;
6775 fixture . detectChanges ( ) ;
6876 } ) ;
6977
@@ -143,4 +151,22 @@ describe('PreprintSubmissionsComponent', () => {
143151 expect ( component . currentPage ( ) ) . toBe ( 1 ) ;
144152 expect ( component . first ( ) ) . toBe ( 0 ) ;
145153 } ) ;
154+
155+ it ( 'should load contributors for a submission' , ( ) => {
156+ const mockItem = mockSubmissions [ 0 ] ;
157+ const dispatchSpy = jest . spyOn ( store , 'dispatch' ) ;
158+
159+ component . loadContributors ( mockItem ) ;
160+
161+ expect ( dispatchSpy ) . toHaveBeenCalledWith ( new GetPreprintSubmissionContributors ( mockItem . id ) ) ;
162+ } ) ;
163+
164+ it ( 'should load more contributors for a submission' , ( ) => {
165+ const mockItem = mockSubmissions [ 0 ] ;
166+ const dispatchSpy = jest . spyOn ( store , 'dispatch' ) ;
167+
168+ component . loadMoreContributors ( mockItem ) ;
169+
170+ expect ( dispatchSpy ) . toHaveBeenCalledWith ( new LoadMorePreprintSubmissionContributors ( mockItem . id ) ) ;
171+ } ) ;
146172} ) ;
0 commit comments