mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-29 13:52:10 +03:00
4b5f538552
no issue - updating toaster design for better discoverability
53 lines
1.9 KiB
JavaScript
53 lines
1.9 KiB
JavaScript
import hbs from 'htmlbars-inline-precompile';
|
|
import sinon from 'sinon';
|
|
import {click, find, render} from '@ember/test-helpers';
|
|
import {describe, it} from 'mocha';
|
|
import {expect} from 'chai';
|
|
import {setupRenderingTest} from 'ember-mocha';
|
|
|
|
describe('Integration: Component: gh-notification', function () {
|
|
setupRenderingTest();
|
|
|
|
it('renders', async function () {
|
|
this.set('message', {message: 'Test message', type: 'success'});
|
|
|
|
await render(hbs`{{gh-notification message=message}}`);
|
|
|
|
expect(find('article.gh-notification')).to.exist;
|
|
|
|
let notification = find('.gh-notification');
|
|
expect(notification).to.have.class('gh-notification-passive');
|
|
expect(notification).to.contain.text('Test message');
|
|
});
|
|
|
|
it('maps message types to CSS classes', async function () {
|
|
this.set('message', {message: 'Test message', type: 'success'});
|
|
|
|
await render(hbs`{{gh-notification message=message}}`);
|
|
let notification = find('.gh-notification');
|
|
|
|
this.set('message.type', 'error');
|
|
expect(notification, 'success class is red')
|
|
.to.have.class('gh-notification-red');
|
|
|
|
this.set('message.type', 'warn');
|
|
expect(notification, 'success class is yellow')
|
|
.to.have.class('gh-notification-yellow');
|
|
});
|
|
|
|
it('closes notification through notifications service', async function () {
|
|
let message = {message: 'Test close', type: 'success'};
|
|
this.set('message', message);
|
|
|
|
let notifications = this.owner.lookup('service:notifications');
|
|
notifications.closeNotification = sinon.stub();
|
|
|
|
await render(hbs`{{gh-notification message=message}}`);
|
|
expect(find('.gh-notification')).to.exist;
|
|
|
|
await click('[data-test-button="close-notification"]');
|
|
|
|
expect(notifications.closeNotification.calledWith(message)).to.be.true;
|
|
});
|
|
});
|