From fd31bd5e5ab3ba46e974ab9b841981a0983c4001 Mon Sep 17 00:00:00 2001 From: nsemets Date: Mon, 27 Oct 2025 13:04:23 +0200 Subject: [PATCH 1/2] fix(preprint-moderation): added see more button --- .../preprint-submission-item.component.html | 14 ++--- .../preprint-submission-item.component.ts | 10 ++-- .../preprint-submissions.component.html | 1 + .../preprint-submissions.component.ts | 6 +++ ...rint-withdrawal-submissions.component.html | 1 + ...eprint-withdrawal-submissions.component.ts | 6 +++ .../models/preprint-submission.model.ts | 1 + .../preprint-withdrawal-submission.model.ts | 1 + .../preprint-moderation.actions.ts | 19 +++++++ .../preprint-moderation.state.ts | 54 ++++++++++++++++--- .../contributors-list.component.html | 3 +- 11 files changed, 97 insertions(+), 19 deletions(-) diff --git a/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.html b/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.html index 8de29f158..ab1ad39ef 100644 --- a/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.html +++ b/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.html @@ -39,14 +39,16 @@ -
+

{{ 'common.labels.contributors' | translate }}:

- @if (submission().contributorsLoading) { - - } @else { - - } + +
diff --git a/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.ts b/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.ts index 4541bb200..509c1e144 100644 --- a/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.ts +++ b/src/app/features/moderation/components/preprint-submission-item/preprint-submission-item.component.ts @@ -2,9 +2,8 @@ import { TranslatePipe } from '@ngx-translate/core'; import { Accordion, AccordionContent, AccordionHeader, AccordionPanel } from 'primeng/accordion'; import { Button } from 'primeng/button'; -import { Skeleton } from 'primeng/skeleton'; -import { ChangeDetectionStrategy, Component, input, output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core'; import { ContributorsListComponent, IconComponent, TruncatedTextComponent } from '@osf/shared/components'; import { StopPropagationDirective } from '@osf/shared/directives'; @@ -27,7 +26,6 @@ import { PreprintSubmissionModel, PreprintWithdrawalSubmission } from '../../mod AccordionHeader, AccordionContent, ContributorsListComponent, - Skeleton, StopPropagationDirective, ], templateUrl: './preprint-submission-item.component.html', @@ -39,6 +37,7 @@ export class PreprintSubmissionItemComponent { submission = input.required(); selected = output(); loadContributors = output(); + loadMoreContributors = output(); readonly reviewStatusIcon = ReviewStatusIcon; readonly actionLabel = PREPRINT_ACTION_LABEL; @@ -47,6 +46,11 @@ export class PreprintSubmissionItemComponent { limitValue = 1; showAll = false; + hasMoreContributors = computed(() => { + const submission = this.submission(); + return submission.contributors.length < submission.totalContributors; + }); + toggleHistory() { this.showAll = !this.showAll; } diff --git a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.html b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.html index 51c7dc27f..989764d85 100644 --- a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.html +++ b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.html @@ -41,6 +41,7 @@ [status]="selectedReviewOption()" (selected)="navigateToPreprint(item)" (loadContributors)="loadContributors(item)" + (loadMoreContributors)="loadMoreContributors(item)" >
} diff --git a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.ts b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.ts index 094fcd2fd..a4bb80458 100644 --- a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.ts +++ b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.ts @@ -28,6 +28,7 @@ import { PreprintSubmissionModel } from '../../models'; import { GetPreprintSubmissionContributors, GetPreprintSubmissions, + LoadMorePreprintSubmissionContributors, PreprintModerationSelectors, } from '../../store/preprint-moderation'; @@ -60,6 +61,7 @@ export class PreprintSubmissionsComponent implements OnInit { readonly actions = createDispatchMap({ getPreprintSubmissions: GetPreprintSubmissions, getPreprintSubmissionContributors: GetPreprintSubmissionContributors, + loadMorePreprintSubmissionContributors: LoadMorePreprintSubmissionContributors, }); readonly submissions = select(PreprintModerationSelectors.getPreprintSubmissions); @@ -131,6 +133,10 @@ export class PreprintSubmissionsComponent implements OnInit { this.actions.getPreprintSubmissionContributors(item.id); } + loadMoreContributors(item: PreprintSubmissionModel) { + this.actions.loadMorePreprintSubmissionContributors(item.id); + } + private getStatusFromQueryParams() { const queryParams = this.route.snapshot.queryParams; const statusValues = Object.values(SubmissionReviewStatus); diff --git a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.html b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.html index 01e06c618..0557fecaf 100644 --- a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.html +++ b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.html @@ -41,6 +41,7 @@ [status]="selectedReviewOption()" (selected)="navigateToPreprint(item)" (loadContributors)="loadContributors(item)" + (loadMoreContributors)="loadMoreContributors(item)" > } diff --git a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.ts b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.ts index 3517a572b..6bb394055 100644 --- a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.ts +++ b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.ts @@ -27,6 +27,7 @@ import { PreprintWithdrawalSubmission } from '../../models'; import { GetPreprintWithdrawalSubmissionContributors, GetPreprintWithdrawalSubmissions, + LoadMorePreprintWithdrawalSubmissionContributors, PreprintModerationSelectors, } from '../../store/preprint-moderation'; import { PreprintSubmissionItemComponent } from '../preprint-submission-item/preprint-submission-item.component'; @@ -60,6 +61,7 @@ export class PreprintWithdrawalSubmissionsComponent implements OnInit { readonly actions = createDispatchMap({ getPreprintWithdrawalSubmissions: GetPreprintWithdrawalSubmissions, getPreprintWithdrawalSubmissionContributors: GetPreprintWithdrawalSubmissionContributors, + loadMorePreprintWithdrawalSubmissionContributors: LoadMorePreprintWithdrawalSubmissionContributors, }); readonly submissions = select(PreprintModerationSelectors.getPreprintWithdrawalSubmissions); @@ -128,6 +130,10 @@ export class PreprintWithdrawalSubmissionsComponent implements OnInit { this.actions.getPreprintWithdrawalSubmissionContributors(item.id, item.preprintId); } + loadMoreContributors(item: PreprintWithdrawalSubmission) { + this.actions.loadMorePreprintWithdrawalSubmissionContributors(item.id, item.preprintId); + } + private getStatusFromQueryParams() { const queryParams = this.route.snapshot.queryParams; const statusValues = Object.values(SubmissionReviewStatus); diff --git a/src/app/features/moderation/models/preprint-submission.model.ts b/src/app/features/moderation/models/preprint-submission.model.ts index 998a1fa8f..da61aae40 100644 --- a/src/app/features/moderation/models/preprint-submission.model.ts +++ b/src/app/features/moderation/models/preprint-submission.model.ts @@ -18,4 +18,5 @@ export interface PreprintSubmissionModel { contributors: ContributorModel[]; totalContributors: number; contributorsLoading?: boolean; + contributorsPage?: number; } diff --git a/src/app/features/moderation/models/preprint-withdrawal-submission.model.ts b/src/app/features/moderation/models/preprint-withdrawal-submission.model.ts index b75e0dc7a..819ff6251 100644 --- a/src/app/features/moderation/models/preprint-withdrawal-submission.model.ts +++ b/src/app/features/moderation/models/preprint-withdrawal-submission.model.ts @@ -16,4 +16,5 @@ export interface PreprintWithdrawalSubmission { contributors: ContributorModel[]; totalContributors: number; contributorsLoading?: boolean; + contributorsPage?: number; } diff --git a/src/app/features/moderation/store/preprint-moderation/preprint-moderation.actions.ts b/src/app/features/moderation/store/preprint-moderation/preprint-moderation.actions.ts index bdcb30368..35bdd77c5 100644 --- a/src/app/features/moderation/store/preprint-moderation/preprint-moderation.actions.ts +++ b/src/app/features/moderation/store/preprint-moderation/preprint-moderation.actions.ts @@ -43,12 +43,31 @@ export class GetPreprintWithdrawalSubmissions { export class GetPreprintSubmissionContributors { static readonly type = `${ACTION_SCOPE} Get Preprint Submission Contributors`; + constructor( + public preprintId: string, + public page = 1 + ) {} +} + +export class LoadMorePreprintSubmissionContributors { + static readonly type = `${ACTION_SCOPE} Load More Preprint Submission Contributors`; + constructor(public preprintId: string) {} } export class GetPreprintWithdrawalSubmissionContributors { static readonly type = `${ACTION_SCOPE} Get Preprint Withdrawal Submission Contributors`; + constructor( + public submissionId: string, + public preprintId: string, + public page = 1 + ) {} +} + +export class LoadMorePreprintWithdrawalSubmissionContributors { + static readonly type = `${ACTION_SCOPE} Load More Preprint Withdrawal Submission Contributors`; + constructor( public submissionId: string, public preprintId: string diff --git a/src/app/features/moderation/store/preprint-moderation/preprint-moderation.state.ts b/src/app/features/moderation/store/preprint-moderation/preprint-moderation.state.ts index bae189e49..4c88d5cd8 100644 --- a/src/app/features/moderation/store/preprint-moderation/preprint-moderation.state.ts +++ b/src/app/features/moderation/store/preprint-moderation/preprint-moderation.state.ts @@ -22,6 +22,8 @@ import { GetPreprintSubmissions, GetPreprintWithdrawalSubmissionContributors, GetPreprintWithdrawalSubmissions, + LoadMorePreprintSubmissionContributors, + LoadMorePreprintWithdrawalSubmissionContributors, } from './preprint-moderation.actions'; import { PREPRINT_MODERATION_STATE_DEFAULTS, PreprintModerationStateModel } from './preprint-moderation.model'; @@ -172,12 +174,12 @@ export class PreprintModerationState { @Action(GetPreprintSubmissionContributors) getPreprintSubmissionContributors( ctx: StateContext, - { preprintId }: GetPreprintSubmissionContributors + { preprintId, page }: GetPreprintSubmissionContributors ) { const state = ctx.getState(); const submission = state.submissions.data.find((s) => s.id === preprintId); - if (submission?.contributors && submission.contributors.length > 0) { + if (submission?.contributors && submission.contributors.length > 0 && page === 1) { return; } @@ -193,18 +195,23 @@ export class PreprintModerationState { ); return this.contributorsService - .getBibliographicContributors(ResourceType.Preprint, preprintId, 1, DEFAULT_TABLE_PARAMS.rows) + .getBibliographicContributors(ResourceType.Preprint, preprintId, page, DEFAULT_TABLE_PARAMS.rows) .pipe( tap((res) => { + const currentSubmission = state.submissions.data.find((s) => s.id === preprintId); + const existingContributors = currentSubmission?.contributors || []; + const newContributors = page === 1 ? res.data : [...existingContributors, ...res.data]; + ctx.setState( patch({ submissions: patch({ data: updateItem( (submission) => submission.id === preprintId, patch({ - contributors: res.data, + contributors: newContributors, totalContributors: res.totalCount, contributorsLoading: false, + contributorsPage: page, }) ), }), @@ -231,12 +238,12 @@ export class PreprintModerationState { @Action(GetPreprintWithdrawalSubmissionContributors) getPreprintWithdrawalSubmissionContributors( ctx: StateContext, - { submissionId, preprintId }: GetPreprintWithdrawalSubmissionContributors + { submissionId, preprintId, page }: GetPreprintWithdrawalSubmissionContributors ) { const state = ctx.getState(); const submission = state.withdrawalSubmissions.data.find((s) => s.id === submissionId); - if (submission?.contributors && submission.contributors.length > 0) { + if (submission?.contributors && submission.contributors.length > 0 && page === 1) { return; } @@ -252,18 +259,23 @@ export class PreprintModerationState { ); return this.contributorsService - .getBibliographicContributors(ResourceType.Preprint, preprintId, 1, DEFAULT_TABLE_PARAMS.rows) + .getBibliographicContributors(ResourceType.Preprint, preprintId, page, DEFAULT_TABLE_PARAMS.rows) .pipe( tap((res) => { + const currentSubmission = state.withdrawalSubmissions.data.find((s) => s.id === submissionId); + const existingContributors = currentSubmission?.contributors || []; + const newContributors = page === 1 ? res.data : [...existingContributors, ...res.data]; + ctx.setState( patch({ withdrawalSubmissions: patch({ data: updateItem( (submission) => submission.id === submissionId, patch({ - contributors: res.data, + contributors: newContributors, totalContributors: res.totalCount, contributorsLoading: false, + contributorsPage: page, }) ), }), @@ -286,4 +298,30 @@ export class PreprintModerationState { }) ); } + + @Action(LoadMorePreprintSubmissionContributors) + loadMorePreprintSubmissionContributors( + ctx: StateContext, + { preprintId }: LoadMorePreprintSubmissionContributors + ) { + const state = ctx.getState(); + const submission = state.submissions.data.find((s) => s.id === preprintId); + const currentPage = submission?.contributorsPage || 1; + const nextPage = currentPage + 1; + + return ctx.dispatch(new GetPreprintSubmissionContributors(preprintId, nextPage)); + } + + @Action(LoadMorePreprintWithdrawalSubmissionContributors) + loadMorePreprintWithdrawalSubmissionContributors( + ctx: StateContext, + { submissionId, preprintId }: LoadMorePreprintWithdrawalSubmissionContributors + ) { + const state = ctx.getState(); + const submission = state.withdrawalSubmissions.data.find((s) => s.id === submissionId); + const currentPage = submission?.contributorsPage || 1; + const nextPage = currentPage + 1; + + return ctx.dispatch(new GetPreprintWithdrawalSubmissionContributors(submissionId, preprintId, nextPage)); + } } diff --git a/src/app/shared/components/contributors-list/contributors-list.component.html b/src/app/shared/components/contributors-list/contributors-list.component.html index 814ad1dac..a3f4ae9e8 100644 --- a/src/app/shared/components/contributors-list/contributors-list.component.html +++ b/src/app/shared/components/contributors-list/contributors-list.component.html @@ -22,13 +22,12 @@ } -@if (hasLoadMore()) { +@if (hasLoadMore() && !isLoading()) {
} From 2a58cd70b1b5e6facaf12996b34e0604fa2fe7fc Mon Sep 17 00:00:00 2001 From: nsemets Date: Mon, 27 Oct 2025 16:49:51 +0200 Subject: [PATCH 2/2] fix(unit-tests): added unit tests for preprint-submissions --- .../preprint-submissions.component.spec.ts | 34 +++++++-- ...t-withdrawal-submissions.component.spec.ts | 32 ++++++++- src/testing/mocks/index.ts | 1 + src/testing/mocks/preprint-submission.mock.ts | 70 +++++++++++++++++++ .../preprint-withdrawal-submission.mock.ts | 12 ++++ 5 files changed, 144 insertions(+), 5 deletions(-) create mode 100644 src/testing/mocks/preprint-submission.mock.ts diff --git a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.spec.ts b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.spec.ts index 27d867b67..95f36ff18 100644 --- a/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.spec.ts +++ b/src/app/features/moderation/components/preprint-submissions/preprint-submissions.component.spec.ts @@ -1,18 +1,24 @@ +import { Store } from '@ngxs/store'; + import { MockComponents, MockProvider } from 'ng-mocks'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ActivatedRoute, Router } from '@angular/router'; import { PreprintSubmissionItemComponent } from '@osf/features/moderation/components'; -import { RegistryModeration } from '@osf/features/moderation/models'; +import { PreprintSubmissionModel } from '@osf/features/moderation/models'; import { CustomPaginatorComponent, IconComponent, LoadingSpinnerComponent, SelectComponent } from '@shared/components'; import { PreprintSubmissionsSort, SubmissionReviewStatus } from '../../enums'; -import { PreprintModerationSelectors } from '../../store/preprint-moderation'; +import { + GetPreprintSubmissionContributors, + LoadMorePreprintSubmissionContributors, + PreprintModerationSelectors, +} from '../../store/preprint-moderation'; import { PreprintSubmissionsComponent } from './preprint-submissions.component'; -import { MOCK_REGISTRY_MODERATIONS } from '@testing/mocks/registry-moderation.mock'; +import { MOCK_PREPRINT_SUBMISSIONS } from '@testing/mocks/preprint-submission.mock'; import { OSFTestingModule } from '@testing/osf.testing.module'; import { ActivatedRouteMockBuilder } from '@testing/providers/route-provider.mock'; import { RouterMockBuilder } from '@testing/providers/router-provider.mock'; @@ -23,9 +29,10 @@ describe('PreprintSubmissionsComponent', () => { let fixture: ComponentFixture; let mockRouter: ReturnType; let mockActivatedRoute: ReturnType; + let store: Store; const mockProviderId = 'test-provider-id'; - const mockSubmissions: RegistryModeration[] = MOCK_REGISTRY_MODERATIONS; + const mockSubmissions: PreprintSubmissionModel[] = MOCK_PREPRINT_SUBMISSIONS; beforeEach(async () => { mockRouter = RouterMockBuilder.create().build(); @@ -64,6 +71,7 @@ describe('PreprintSubmissionsComponent', () => { fixture = TestBed.createComponent(PreprintSubmissionsComponent); component = fixture.componentInstance; + store = TestBed.inject(Store); fixture.detectChanges(); }); @@ -143,4 +151,22 @@ describe('PreprintSubmissionsComponent', () => { expect(component.currentPage()).toBe(1); expect(component.first()).toBe(0); }); + + it('should load contributors for a submission', () => { + const mockItem = mockSubmissions[0]; + const dispatchSpy = jest.spyOn(store, 'dispatch'); + + component.loadContributors(mockItem); + + expect(dispatchSpy).toHaveBeenCalledWith(new GetPreprintSubmissionContributors(mockItem.id)); + }); + + it('should load more contributors for a submission', () => { + const mockItem = mockSubmissions[0]; + const dispatchSpy = jest.spyOn(store, 'dispatch'); + + component.loadMoreContributors(mockItem); + + expect(dispatchSpy).toHaveBeenCalledWith(new LoadMorePreprintSubmissionContributors(mockItem.id)); + }); }); diff --git a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.spec.ts b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.spec.ts index dcc2e0e35..d493700b6 100644 --- a/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.spec.ts +++ b/src/app/features/moderation/components/preprint-withdrawal-submissions/preprint-withdrawal-submissions.component.spec.ts @@ -1,3 +1,5 @@ +import { Store } from '@ngxs/store'; + import { MockComponents, MockProvider } from 'ng-mocks'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -8,7 +10,11 @@ import { PreprintWithdrawalSubmission } from '@osf/features/moderation/models'; import { CustomPaginatorComponent, IconComponent, LoadingSpinnerComponent, SelectComponent } from '@shared/components'; import { PreprintSubmissionsSort, SubmissionReviewStatus } from '../../enums'; -import { PreprintModerationSelectors } from '../../store/preprint-moderation'; +import { + GetPreprintWithdrawalSubmissionContributors, + LoadMorePreprintWithdrawalSubmissionContributors, + PreprintModerationSelectors, +} from '../../store/preprint-moderation'; import { PreprintWithdrawalSubmissionsComponent } from './preprint-withdrawal-submissions.component'; @@ -23,6 +29,7 @@ describe('PreprintWithdrawalSubmissionsComponent', () => { let fixture: ComponentFixture; let mockRouter: ReturnType; let mockActivatedRoute: ReturnType; + let store: Store; const mockProviderId = 'test-provider-id'; const mockSubmissions: PreprintWithdrawalSubmission[] = MOCK_PREPRINT_WITHDRAWAL_SUBMISSIONS; @@ -74,6 +81,7 @@ describe('PreprintWithdrawalSubmissionsComponent', () => { fixture = TestBed.createComponent(PreprintWithdrawalSubmissionsComponent); component = fixture.componentInstance; + store = TestBed.inject(Store); fixture.detectChanges(); }); @@ -164,4 +172,26 @@ describe('PreprintWithdrawalSubmissionsComponent', () => { expect(component.currentPage()).toBe(1); expect(component.first()).toBe(0); }); + + it('should load contributors for a withdrawal submission', () => { + const mockItem = mockSubmissions[0]; + const dispatchSpy = jest.spyOn(store, 'dispatch'); + + component.loadContributors(mockItem); + + expect(dispatchSpy).toHaveBeenCalledWith( + new GetPreprintWithdrawalSubmissionContributors(mockItem.id, mockItem.preprintId) + ); + }); + + it('should load more contributors for a withdrawal submission', () => { + const mockItem = mockSubmissions[0]; + const dispatchSpy = jest.spyOn(store, 'dispatch'); + + component.loadMoreContributors(mockItem); + + expect(dispatchSpy).toHaveBeenCalledWith( + new LoadMorePreprintWithdrawalSubmissionContributors(mockItem.id, mockItem.preprintId) + ); + }); }); diff --git a/src/testing/mocks/index.ts b/src/testing/mocks/index.ts index 72402caff..77e2b09cc 100644 --- a/src/testing/mocks/index.ts +++ b/src/testing/mocks/index.ts @@ -25,6 +25,7 @@ export { MOCK_REGISTRATION } from './registration.mock'; export * from './resource.mock'; export { MOCK_REVIEW } from './review.mock'; export { MOCK_SCOPES } from './scope.mock'; +export * from './submission.mock'; export { MOCK_TOKEN } from './token.mock'; export { TranslateServiceMock } from './translate.service.mock'; export * from './view-only-link.mock'; diff --git a/src/testing/mocks/preprint-submission.mock.ts b/src/testing/mocks/preprint-submission.mock.ts new file mode 100644 index 000000000..711d38519 --- /dev/null +++ b/src/testing/mocks/preprint-submission.mock.ts @@ -0,0 +1,70 @@ +import { PreprintSubmissionModel } from '@osf/features/moderation/models'; + +export const MOCK_PREPRINT_SUBMISSIONS: PreprintSubmissionModel[] = [ + { + id: '1', + title: 'Test Preprint Submission 1', + reviewsState: 'pending', + public: false, + actions: [ + { + id: '1', + trigger: 'manual', + fromState: 'pending', + toState: 'pending', + dateModified: '2023-01-01', + creator: { + id: 'user-1', + name: 'John Doe', + }, + comment: 'Test comment', + }, + ], + contributors: [], + totalContributors: 0, + }, + { + id: '2', + title: 'Test Preprint Submission 2', + reviewsState: 'accepted', + public: true, + actions: [ + { + id: '2', + trigger: 'manual', + fromState: 'pending', + toState: 'accepted', + dateModified: '2023-01-02', + creator: { + id: 'user-2', + name: 'Jane Doe', + }, + comment: 'Approved submission', + }, + ], + contributors: [], + totalContributors: 0, + }, + { + id: '3', + title: 'Test Preprint Submission 3', + reviewsState: 'rejected', + public: false, + actions: [ + { + id: '3', + trigger: 'manual', + fromState: 'pending', + toState: 'rejected', + dateModified: '2023-01-03', + creator: { + id: 'user-3', + name: 'Bob Smith', + }, + comment: 'Rejected submission', + }, + ], + contributors: [], + totalContributors: 0, + }, +]; diff --git a/src/testing/mocks/preprint-withdrawal-submission.mock.ts b/src/testing/mocks/preprint-withdrawal-submission.mock.ts index b3fd7cd34..543775c50 100644 --- a/src/testing/mocks/preprint-withdrawal-submission.mock.ts +++ b/src/testing/mocks/preprint-withdrawal-submission.mock.ts @@ -5,6 +5,10 @@ export const MOCK_PREPRINT_WITHDRAWAL_SUBMISSIONS: PreprintWithdrawalSubmission[ id: '1', title: 'Test Withdrawal 1', preprintId: 'preprint-1', + contributors: [], + contributorsLoading: false, + contributorsPage: 1, + totalContributors: 0, actions: [ { id: '1', @@ -24,6 +28,10 @@ export const MOCK_PREPRINT_WITHDRAWAL_SUBMISSIONS: PreprintWithdrawalSubmission[ id: '2', preprintId: 'preprint-2', title: 'Test Withdrawal 2', + contributors: [], + contributorsLoading: false, + contributorsPage: 1, + totalContributors: 0, actions: [ { id: '2', @@ -43,6 +51,10 @@ export const MOCK_PREPRINT_WITHDRAWAL_SUBMISSIONS: PreprintWithdrawalSubmission[ id: '3', preprintId: 'preprint-3', title: 'Test Withdrawal 3', + contributors: [], + contributorsLoading: false, + contributorsPage: 1, + totalContributors: 0, actions: [ { id: '3',