Feature: compact toasts (#4545)

This commit is contained in:
shamoon
2023-11-13 13:17:44 -08:00
committed by GitHub
parent facb7226fe
commit 90707d661b
9 changed files with 127 additions and 119 deletions

View File

@@ -3,6 +3,7 @@ import {
discardPeriodicTasks,
fakeAsync,
flush,
tick,
} from '@angular/core/testing'
import { ToastService } from 'src/app/services/toast.service'
import { ToastsComponent } from './toasts.component'
@@ -14,18 +15,15 @@ import { Clipboard } from '@angular/cdk/clipboard'
const toasts = [
{
title: 'Title',
content: 'content',
content: 'foo bar',
delay: 5000,
},
{
title: 'Error 1',
content: 'Error 1 content',
delay: 5000,
error: 'Error 1 string',
},
{
title: 'Error 2',
content: 'Error 2 content',
delay: 5000,
error: {
@@ -75,8 +73,7 @@ describe('ToastsComponent', () => {
expect(spy).toHaveBeenCalled()
expect(component.toasts).toContainEqual({
title: 'Title',
content: 'content',
content: 'foo bar',
delay: 5000,
})
@@ -89,13 +86,24 @@ describe('ToastsComponent', () => {
component.ngOnInit()
fixture.detectChanges()
expect(fixture.nativeElement.textContent).toContain('Title')
expect(fixture.nativeElement.textContent).toContain('foo bar')
component.ngOnDestroy()
flush()
discardPeriodicTasks()
}))
it('should countdown toast', fakeAsync(() => {
component.ngOnInit()
fixture.detectChanges()
component.onShow(toasts[0])
tick(5000)
expect(component.toasts[0].delayRemaining).toEqual(0)
component.ngOnDestroy()
flush()
discardPeriodicTasks()
}))
it('should show an error if given with toast', fakeAsync(() => {
component.ngOnInit()
fixture.detectChanges()
@@ -134,6 +142,9 @@ describe('ToastsComponent', () => {
'Error string no detail'
)
expect(component.getErrorText('Error string')).toEqual('')
expect(
component.getErrorText({ error: { message: 'foo error bar' } })
).toContain('{"message":"foo error bar"}')
expect(
component.getErrorText({ error: new Array(205).join('a') })
).toContain('...')