From 09f804b2ae5d5e9a2ef207854dd161a8583ec7d5 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 31 Oct 2019 12:37:33 +0300 Subject: [PATCH] test(theme-shared): add error.component.spec --- .../lib/components/error/error.component.html | 4 +-- .../src/lib/tests/error.component.spec.ts | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/tests/error.component.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/error/error.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/error/error.component.html index 8954910674..f367d49e89 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/error/error.component.html +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/error/error.component.html @@ -1,5 +1,5 @@ -
-
diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/error.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/error.component.spec.ts new file mode 100644 index 0000000000..f54d52440d --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/error.component.spec.ts @@ -0,0 +1,36 @@ +import { SpectatorHost, createHostFactory } from '@ngneat/spectator/jest'; +import { ErrorComponent } from '../components/error/error.component'; +import { LocalizationPipe } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; +import { Renderer2, ElementRef } from '@angular/core'; + +describe('ErrorComponent', () => { + let spectator: SpectatorHost; + const createHost = createHostFactory({ + component: ErrorComponent, + declarations: [LocalizationPipe], + mocks: [Store], + providers: [ + { provide: Renderer2, useValue: { removeChild: () => null } }, + { provide: ElementRef, useValue: { nativeElement: document.createElement('div') } }, + ], + }); + + beforeEach(() => (spectator = createHost(''))); + + describe('#destroy', () => { + it('should remove the dom', () => { + const renderer = spectator.get(Renderer2); + const rendererSpy = jest.spyOn(renderer, 'removeChild'); + spectator.component.renderer = renderer; + + const elementRef = spectator.get(ElementRef); + spectator.component.elementRef = elementRef; + spectator.component.host = spectator.hostComponent; + + spectator.click('button#abp-close-button'); + spectator.detectChanges(); + expect(rendererSpy).toHaveBeenCalledWith(spectator.hostComponent, elementRef.nativeElement); + }); + }); +});