diff --git a/src/app/submission/submission.service.spec.ts b/src/app/submission/submission.service.spec.ts index 5816c97bde..14c369581a 100644 --- a/src/app/submission/submission.service.spec.ts +++ b/src/app/submission/submission.service.spec.ts @@ -915,6 +915,13 @@ describe('SubmissionService test suite', () => { }); describe('startAutoSave', () => { + + let environmentAutoSaveTimerOriginalValue; + + beforeEach(() => { + environmentAutoSaveTimerOriginalValue = environment.submission.autosave.timer; + }); + it('should start Auto Save', fakeAsync(() => { const duration = environment.submission.autosave.timer * (1000 * 60); @@ -930,6 +937,19 @@ describe('SubmissionService test suite', () => { sub.unsubscribe(); (service as any).autoSaveSub.unsubscribe(); })); + + it('should not start Auto Save if timer is 0', fakeAsync(() => { + environment.submission.autosave.timer = 0; + + service.startAutoSave('826'); + + expect((service as any).autoSaveSub).toBeUndefined(); + })); + + afterEach(() => { + environment.submission.autosave.timer = environmentAutoSaveTimerOriginalValue; + }) + }); describe('stopAutoSave', () => { diff --git a/src/app/submission/submission.service.ts b/src/app/submission/submission.service.ts index c9b1d41b40..728c860ca9 100644 --- a/src/app/submission/submission.service.ts +++ b/src/app/submission/submission.service.ts @@ -562,6 +562,10 @@ export class SubmissionService { */ startAutoSave(submissionId) { this.stopAutoSave(); + if (environment.submission.autosave.timer === 0) { + return; + } + // AUTOSAVE submission // Retrieve interval from config and convert to milliseconds const duration = environment.submission.autosave.timer * (1000 * 60);