Skip to content

Commit b387856

Browse files
committed
fix(update-preprint): removed delete option for rejected preprint
1 parent a758e12 commit b387856

3 files changed

Lines changed: 17 additions & 115 deletions

File tree

src/app/features/preprints/pages/update-preprint-stepper/update-preprint-stepper.component.html

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -36,53 +36,26 @@ <h1 class="preprint-provider-name">
3636
<section class="flex-1 bg-white px-3 py-4 md:py-4 md:px-4">
3737
@switch (currentStep().value) {
3838
@case (PreprintSteps.TitleAndAbstract) {
39-
<osf-title-and-abstract-step
40-
[providerId]="provider.id"
41-
[showDeleteButton]="isPreprintRejected()"
42-
(nextClicked)="moveToNextStep()"
43-
(deleteClicked)="requestDeletePreprint()"
44-
/>
39+
<osf-title-and-abstract-step [providerId]="provider.id" (nextClicked)="moveToNextStep()" />
4540
}
4641
@case (PreprintSteps.File) {
47-
<osf-file-step
48-
[provider]="provider"
49-
[showDeleteButton]="isPreprintRejected()"
50-
(nextClicked)="moveToNextStep()"
51-
(backClicked)="moveToPreviousStep()"
52-
(deleteClicked)="requestDeletePreprint()"
53-
/>
42+
<osf-file-step [provider]="provider" (nextClicked)="moveToNextStep()" (backClicked)="moveToPreviousStep()" />
5443
}
5544
@case (PreprintSteps.Metadata) {
5645
<osf-preprints-metadata
5746
[provider]="provider"
58-
[showDeleteButton]="isPreprintRejected()"
5947
(nextClicked)="moveToNextStep()"
6048
(backClicked)="moveToPreviousStep()"
61-
(deleteClicked)="requestDeletePreprint()"
6249
/>
6350
}
6451
@case (PreprintSteps.AuthorAssertions) {
65-
<osf-author-assertions-step
66-
[showDeleteButton]="isPreprintRejected()"
67-
(nextClicked)="moveToNextStep()"
68-
(backClicked)="moveToPreviousStep()"
69-
(deleteClicked)="requestDeletePreprint()"
70-
/>
52+
<osf-author-assertions-step (nextClicked)="moveToNextStep()" (backClicked)="moveToPreviousStep()" />
7153
}
7254
@case (PreprintSteps.Supplements) {
73-
<osf-supplements-step
74-
[showDeleteButton]="isPreprintRejected()"
75-
(nextClicked)="moveToNextStep()"
76-
(backClicked)="moveToPreviousStep()"
77-
(deleteClicked)="requestDeletePreprint()"
78-
/>
55+
<osf-supplements-step (nextClicked)="moveToNextStep()" (backClicked)="moveToPreviousStep()" />
7956
}
8057
@case (PreprintSteps.Review) {
81-
<osf-review-step
82-
[provider]="provider"
83-
[showDeleteButton]="isPreprintRejected()"
84-
(deleteClicked)="requestDeletePreprint()"
85-
/>
58+
<osf-review-step [provider]="provider" />
8659
}
8760
}
8861
</section>

src/app/features/preprints/pages/update-preprint-stepper/update-preprint-stepper.component.spec.ts

Lines changed: 1 addition & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ import { provideOSFCore } from '@testing/osf.testing.provider';
1919
import { BrandServiceMock, BrandServiceMockType } from '@testing/providers/brand-service.mock';
2020
import { BrowserTabServiceMock, BrowserTabServiceMockType } from '@testing/providers/browser-tab-service.mock';
2121
import { HeaderStyleServiceMock, HeaderStyleServiceMockType } from '@testing/providers/header-style-service.mock';
22-
import {
23-
PreprintDraftDeletionServiceMock,
24-
PreprintDraftDeletionServiceMockType,
25-
} from '@testing/providers/preprint-draft-deletion-provider.mock';
2622
import { ActivatedRouteMockBuilder } from '@testing/providers/route-provider.mock';
2723
import { mergeSignalOverrides, provideMockStore, SignalOverride } from '@testing/providers/store-provider.mock';
2824

@@ -35,14 +31,8 @@ import { TitleAndAbstractStepComponent } from '../../components/stepper/title-an
3531
import { submitPreprintSteps } from '../../constants';
3632
import { PreprintSteps, ReviewsState } from '../../enums';
3733
import { PreprintProviderDetails } from '../../models';
38-
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
3934
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
40-
import {
41-
DeletePreprint,
42-
FetchPreprintById,
43-
PreprintStepperSelectors,
44-
ResetPreprintStepperState,
45-
} from '../../store/preprint-stepper';
35+
import { FetchPreprintById, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4636

4737
import { UpdatePreprintStepperComponent } from './update-preprint-stepper.component';
4838

@@ -53,7 +43,6 @@ describe('UpdatePreprintStepperComponent', () => {
5343
let brandServiceMock: BrandServiceMockType;
5444
let headerStyleMock: HeaderStyleServiceMockType;
5545
let browserTabMock: BrowserTabServiceMockType;
56-
let draftDeletionMock: PreprintDraftDeletionServiceMockType;
5746

5847
const mockProvider: PreprintProviderDetails = PREPRINT_PROVIDER_DETAILS_MOCK;
5948
const mockPreprint = PREPRINT_MOCK;
@@ -78,7 +67,6 @@ describe('UpdatePreprintStepperComponent', () => {
7867
brandServiceMock = BrandServiceMock.simple();
7968
headerStyleMock = HeaderStyleServiceMock.simple();
8069
browserTabMock = BrowserTabServiceMock.simple();
81-
draftDeletionMock = PreprintDraftDeletionServiceMock.simple();
8270

8371
TestBed.configureTestingModule({
8472
imports: [
@@ -104,12 +92,6 @@ describe('UpdatePreprintStepperComponent', () => {
10492
],
10593
});
10694

107-
TestBed.overrideComponent(UpdatePreprintStepperComponent, {
108-
set: {
109-
providers: [{ provide: PreprintDraftDeletionService, useValue: draftDeletionMock }],
110-
},
111-
});
112-
11395
store = TestBed.inject(Store);
11496
fixture = TestBed.createComponent(UpdatePreprintStepperComponent);
11597
component = fixture.componentInstance;
@@ -325,44 +307,4 @@ describe('UpdatePreprintStepperComponent', () => {
325307

326308
expect(component.currentStep()).toEqual(firstStep);
327309
});
328-
329-
it('should return false from isPreprintRejected when preprint is not rejected', () => {
330-
setup();
331-
332-
expect(component.isPreprintRejected()).toBe(false);
333-
});
334-
335-
it('should return true from isPreprintRejected when preprint is rejected', () => {
336-
setup({
337-
selectorOverrides: [
338-
{
339-
selector: PreprintStepperSelectors.getPreprint,
340-
value: { ...mockPreprint, reviewsState: ReviewsState.Rejected },
341-
},
342-
],
343-
});
344-
345-
expect(component.isPreprintRejected()).toBe(true);
346-
});
347-
348-
it('should request draft deletion with update redirect and action callbacks', () => {
349-
setup();
350-
351-
component.requestDeletePreprint();
352-
353-
expect(draftDeletionMock.confirmDeleteDraft).toHaveBeenCalledWith(
354-
expect.objectContaining({
355-
redirectUrl: '/my-preprints',
356-
onDelete: expect.any(Function),
357-
onReset: expect.any(Function),
358-
})
359-
);
360-
361-
const { onDelete, onReset } = draftDeletionMock.confirmDeleteDraft.mock.calls[0][0];
362-
onDelete();
363-
onReset();
364-
365-
expect(store.dispatch).toHaveBeenCalledWith(new DeletePreprint());
366-
expect(store.dispatch).toHaveBeenCalledWith(new ResetPreprintStepperState());
367-
});
368310
});

src/app/features/preprints/pages/update-preprint-stepper/update-preprint-stepper.component.ts

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import { SupplementsStepComponent } from '../../components/stepper/supplements-s
3636
import { TitleAndAbstractStepComponent } from '../../components/stepper/title-and-abstract-step/title-and-abstract-step.component';
3737
import { submitPreprintSteps } from '../../constants';
3838
import { PreprintSteps, ProviderReviewsWorkflow, ReviewsState } from '../../enums';
39-
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
4039
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
4140
import {
4241
DeletePreprint,
@@ -61,7 +60,6 @@ import {
6160
templateUrl: './update-preprint-stepper.component.html',
6261
styleUrl: './update-preprint-stepper.component.scss',
6362
changeDetection: ChangeDetectionStrategy.OnPush,
64-
providers: [PreprintDraftDeletionService],
6563
})
6664
export class UpdatePreprintStepperComponent implements OnDestroy, CanDeactivateComponent {
6765
@HostBinding('class') classes = 'flex-1 flex flex-column w-full';
@@ -70,39 +68,36 @@ export class UpdatePreprintStepperComponent implements OnDestroy, CanDeactivateC
7068
private readonly brandService = inject(BrandService);
7169
private readonly headerStyleHelper = inject(HeaderStyleService);
7270
private readonly browserTabHelper = inject(BrowserTabService);
73-
private readonly draftDeletionService = inject(PreprintDraftDeletionService);
7471

75-
private providerId = toSignal(this.route.params.pipe(map((params) => params['providerId'])));
76-
private preprintId = toSignal(this.route.params.pipe(map((params) => params['preprintId'])));
72+
private readonly providerId = toSignal(this.route.params.pipe(map((params) => params['providerId'])));
73+
private readonly preprintId = toSignal(this.route.params.pipe(map((params) => params['preprintId'])));
7774

78-
private actions = createDispatchMap({
75+
private readonly actions = createDispatchMap({
7976
getPreprintProviderById: GetPreprintProviderById,
8077
resetState: ResetPreprintStepperState,
8178
fetchPreprint: FetchPreprintById,
8279
deletePreprint: DeletePreprint,
8380
});
8481

85-
preprintProvider = select(PreprintProvidersSelectors.getPreprintProviderDetails(this.providerId()));
86-
preprint = select(PreprintStepperSelectors.getPreprint);
87-
isPreprintProviderLoading = select(PreprintProvidersSelectors.isPreprintProviderDetailsLoading);
88-
hasBeenSubmitted = select(PreprintStepperSelectors.hasBeenSubmitted);
89-
hasAdminAccess = select(PreprintStepperSelectors.hasAdminAccess);
82+
readonly preprintProvider = select(PreprintProvidersSelectors.getPreprintProviderDetails(this.providerId()));
83+
readonly preprint = select(PreprintStepperSelectors.getPreprint);
84+
readonly isPreprintProviderLoading = select(PreprintProvidersSelectors.isPreprintProviderDetailsLoading);
85+
readonly hasBeenSubmitted = select(PreprintStepperSelectors.hasBeenSubmitted);
86+
readonly hasAdminAccess = select(PreprintStepperSelectors.hasAdminAccess);
9087

91-
isWeb = toSignal(inject(IS_WEB));
88+
readonly isWeb = toSignal(inject(IS_WEB));
9289

93-
currentStep = signal<StepOption>(submitPreprintSteps[0]);
90+
readonly currentStep = signal<StepOption>(submitPreprintSteps[0]);
9491

9592
readonly PreprintSteps = PreprintSteps;
9693

97-
editAndResubmitMode = computed(() => {
94+
readonly editAndResubmitMode = computed(() => {
9895
const providerIsPremod = this.preprintProvider()?.reviewsWorkflow === ProviderReviewsWorkflow.PreModeration;
9996
const preprintIsRejected = this.preprint()?.reviewsState === ReviewsState.Rejected;
10097

10198
return providerIsPremod && preprintIsRejected;
10299
});
103100

104-
isPreprintRejected = computed(() => this.preprint()?.reviewsState === ReviewsState.Rejected);
105-
106101
readonly updateSteps = computed(() => {
107102
const provider = this.preprintProvider();
108103
const preprint = this.preprint();
@@ -184,12 +179,4 @@ export class UpdatePreprintStepperComponent implements OnDestroy, CanDeactivateC
184179
this.currentStep.set(prevStep);
185180
}
186181
}
187-
188-
requestDeletePreprint(): void {
189-
this.draftDeletionService.confirmDeleteDraft({
190-
onDelete: () => this.actions.deletePreprint(),
191-
onReset: () => this.actions.resetState(),
192-
redirectUrl: '/my-preprints',
193-
});
194-
}
195182
}

0 commit comments

Comments
 (0)