12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- const NotificationManager = require('../src/notification-manager');
- describe('NotificationManager', () => {
- let manager;
- beforeEach(() => {
- manager = new NotificationManager();
- });
- describe('the atom global', () =>
- it('has a notifications instance', () => {
- expect(atom.notifications instanceof NotificationManager).toBe(true);
- }));
- describe('adding events', () => {
- let addSpy;
- beforeEach(() => {
- addSpy = jasmine.createSpy();
- manager.onDidAddNotification(addSpy);
- });
- it('emits an event when a notification has been added', () => {
- manager.add('error', 'Some error!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('error');
- expect(notification.getMessage()).toBe('Some error!');
- expect(notification.getIcon()).toBe('someIcon');
- });
- it('emits a fatal error when ::addFatalError has been called', () => {
- manager.addFatalError('Some error!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('fatal');
- });
- it('emits an error when ::addError has been called', () => {
- manager.addError('Some error!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('error');
- });
- it('emits a warning notification when ::addWarning has been called', () => {
- manager.addWarning('Something!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('warning');
- });
- it('emits an info notification when ::addInfo has been called', () => {
- manager.addInfo('Something!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('info');
- });
- it('emits a success notification when ::addSuccess has been called', () => {
- manager.addSuccess('Something!', { icon: 'someIcon' });
- expect(addSpy).toHaveBeenCalled();
- const notification = addSpy.mostRecentCall.args[0];
- expect(notification.getType()).toBe('success');
- });
- });
- describe('clearing notifications', () => {
- it('clears the notifications when ::clear has been called', () => {
- manager.addSuccess('success');
- expect(manager.getNotifications().length).toBe(1);
- manager.clear();
- expect(manager.getNotifications().length).toBe(0);
- });
- describe('adding events', () => {
- let clearSpy;
- beforeEach(() => {
- clearSpy = jasmine.createSpy();
- manager.onDidClearNotifications(clearSpy);
- });
- it('emits an event when the notifications have been cleared', () => {
- manager.clear();
- expect(clearSpy).toHaveBeenCalled();
- });
- });
- });
- });
|