|
|
|
@ -1,7 +1,7 @@ |
|
|
|
import { CoreTestingModule } from '@abp/ng.core/testing'; |
|
|
|
import { NgModule } from '@angular/core'; |
|
|
|
import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; |
|
|
|
import { timer } from 'rxjs'; |
|
|
|
import { firstValueFrom, timer } from 'rxjs'; |
|
|
|
import { ToastContainerComponent } from '../components/toast-container/toast-container.component'; |
|
|
|
import { ToastComponent } from '../components/toast/toast.component'; |
|
|
|
import { ToasterService } from '../services/toaster.service'; |
|
|
|
@ -34,7 +34,7 @@ describe('ToasterService', () => { |
|
|
|
test('should display a toast', async () => { |
|
|
|
service.show('MESSAGE', 'TITLE'); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
expect(selectToasterElement('.fa-exclamation-circle')).toBeTruthy(); |
|
|
|
@ -51,7 +51,7 @@ describe('ToasterService', () => { |
|
|
|
`('should display $type toast', async ({ type, selector, icon }) => {
|
|
|
|
service[type]('MESSAGE', 'TITLE'); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
expect(selectToasterContent(`.${toastClassPrefix}-title`)).toBe('TITLE'); |
|
|
|
expect(selectToasterContent(`.${toastClassPrefix}-message`)).toBe('MESSAGE'); |
|
|
|
@ -63,7 +63,7 @@ describe('ToasterService', () => { |
|
|
|
service.show('MESSAGE_1', 'TITLE_1'); |
|
|
|
service.show('MESSAGE_2', 'TITLE_2'); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
const titles = document.querySelectorAll(`.${toastClassPrefix}-title`); |
|
|
|
@ -77,7 +77,7 @@ describe('ToasterService', () => { |
|
|
|
service.show('MESSAGE'); |
|
|
|
service.remove(0); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
expect(selectToasterElement()).toBeNull(); |
|
|
|
@ -87,7 +87,7 @@ describe('ToasterService', () => { |
|
|
|
service.show('MESSAGE'); |
|
|
|
service.clear(); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
expect(selectToasterElement()).toBeNull(); |
|
|
|
@ -98,13 +98,22 @@ describe('ToasterService', () => { |
|
|
|
service.show('MESSAGE_2', 'TITLE_2', 'neutral', { containerKey: 'y' }); |
|
|
|
service.clear('x'); |
|
|
|
|
|
|
|
await timer(0).toPromise(); |
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
expect(selectToasterElement('.fa-exclamation-circle')).toBeTruthy(); |
|
|
|
expect(selectToasterContent(`.${toastClassPrefix}-title`)).toBe('TITLE_2'); |
|
|
|
expect(selectToasterContent(`.${toastClassPrefix}-message`)).toBe('MESSAGE_2'); |
|
|
|
}); |
|
|
|
|
|
|
|
test('should display custom icon when iconClass is provided', async () => { |
|
|
|
service.show('MESSAGE', 'TITLE', 'neutral', { iconClass: 'custom-icon' }); |
|
|
|
|
|
|
|
await firstValueFrom(timer(0)); |
|
|
|
service['containerComponentRef'].changeDetectorRef.detectChanges(); |
|
|
|
|
|
|
|
expect(selectToasterElement('.custom-icon')).toBeTruthy(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
function clearElements(selector = `.${toastClassPrefix}`) { |
|
|
|
|