Select Git revision
EingangAspectPointcuts.java
snackbar.service.spec.ts 2.41 KiB
import { MatSnackBar } from '@angular/material/snack-bar';
import { CommandResource, CommandStatus } from '@goofy-client/command-shared';
import { Mock, mock, useFromMock } from '@goofy-client/test-utils';
import * as faker from 'faker';
import { createCommandResource } from 'libs/command-shared/test/command';
import { SnackbarErrorComponent } from './snackbar-error/snackbar-error.component';
import { SnackbarComponent } from './snackbar.component';
import { SnackBarService } from './snackbar.service';
describe('SnackBarService', () => {
let service: SnackBarService;
let snackBar: Mock<MatSnackBar>;
const commandResource: CommandResource = createCommandResource();
const message: string = faker.lorem.words(5);
beforeEach(() => {
snackBar = mock(MatSnackBar);
service = new SnackBarService(useFromMock(snackBar));
})
it('should create', () => {
expect(service).toBeDefined();
})
describe('show', () => {
beforeEach(() => {
service.listenOnRevokeAction = jest.fn();
service.listenOnAfterDismissed = jest.fn();
})
it('should open from component', () => {
service.show(commandResource, message);
expect(snackBar.openFromComponent).toHaveBeenCalledWith(SnackbarComponent, {
data: { message, commandResource }, duration: 10000
});
})
it('should listen to snackbar revoke action', () => {
service.show(commandResource, message, null);
expect(service.listenOnRevokeAction).toHaveBeenCalledWith(null);
})
it('should listen to snackbar after dismissed', () => {
service.show(commandResource, message, null);
expect(service.listenOnAfterDismissed).toHaveBeenCalled();
})
it('should open error snackbar when status is ERROR', () => {
const commandWithError = { ...commandResource, status: CommandStatus.ERROR}
service.show(commandWithError, message, null);
expect(snackBar.openFromComponent).toHaveBeenCalledWith(SnackbarErrorComponent, {
data: { message }, duration: 10000
});
});
})
describe('show error', () => {
beforeEach(() => {
service.listenOnAfterDismissed = jest.fn();
})
it('should open from component', () => {
service.showError(message);
expect(snackBar.openFromComponent).toHaveBeenCalledWith(SnackbarErrorComponent, {
data: { message }, duration: 10000
});
})
it('should listen to snackbar after dismissed', () => {
service.showError(message);
expect(service.listenOnAfterDismissed).toHaveBeenCalled();
})
})
})