diff --git a/modules/ui/src/app/pages/certificates/certificates.store.spec.ts b/modules/ui/src/app/pages/certificates/certificates.store.spec.ts index 081c56961..0582bb3e4 100644 --- a/modules/ui/src/app/pages/certificates/certificates.store.spec.ts +++ b/modules/ui/src/app/pages/certificates/certificates.store.spec.ts @@ -161,6 +161,24 @@ describe('CertificatesStore', () => { ); }); }); + + it('should not upload certificates if error happens', done => { + mockService.uploadCertificate.and.returnValue(of(false)); + mockService.fetchCertificates.and.returnValue(of([])); + + const uploadingCertificate = certificate_uploading; + + certificateStore.viewModel$.pipe(skip(1), take(1)).subscribe(store => { + expect(store.certificates).toContain(uploadingCertificate); + }); + + certificateStore.viewModel$.pipe(skip(2), take(1)).subscribe(store => { + expect(store.certificates).not.toContain(certificate); + done(); + }); + + certificateStore.uploadCertificate(FILE); + }); }); describe('deleteCertificate', () => { diff --git a/modules/ui/src/app/pages/certificates/certificates.store.ts b/modules/ui/src/app/pages/certificates/certificates.store.ts index 60d63e357..dde05f0fd 100644 --- a/modules/ui/src/app/pages/certificates/certificates.store.ts +++ b/modules/ui/src/app/pages/certificates/certificates.store.ts @@ -102,6 +102,7 @@ export class CertificatesStore extends ComponentStore { ); }), catchError(() => { + this.removeCertificate(file.name, certificates); return EMPTY; }) );