init project
This commit is contained in:
commit
eb81760f47
679 changed files with 125497 additions and 0 deletions
64
test/unit/specs/message.spec.js
Normal file
64
test/unit/specs/message.spec.js
Normal file
|
@ -0,0 +1,64 @@
|
|||
import {createVue, destroyVM, waitForIt} from '../util';
|
||||
|
||||
describe('Message.vue', () => {
|
||||
let vm;
|
||||
afterEach(() => {
|
||||
destroyVM(vm);
|
||||
});
|
||||
|
||||
it('should open a info message by default', done => {
|
||||
vm = createVue({render: () => {}});
|
||||
const testMessage = 'Hello world!';
|
||||
let messageContainer = null;
|
||||
vm.$Message.info({
|
||||
content: testMessage,
|
||||
duration: 200 // too long so we can test
|
||||
});
|
||||
|
||||
const selector = '.ivu-message-notice-content-text .ivu-message-info';
|
||||
const checkMessageOpens = () => (messageContainer = document.querySelector(selector));
|
||||
|
||||
waitForIt(checkMessageOpens, function() {
|
||||
expect(messageContainer.textContent.trim()).to.equal(testMessage);
|
||||
messageContainer.parentElement.removeChild(messageContainer);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should open specific messages of different types', function(done) {
|
||||
vm = createVue({render: () => {}});
|
||||
const testMessage = type => `Hello world! this is a ${type} message`;
|
||||
const tests = ['info', 'success', 'warning', 'error', 'loading'].reduce((tests, type) => {
|
||||
return tests.concat({
|
||||
type: type,
|
||||
message: testMessage(type),
|
||||
class: 'ivu-message-' + type
|
||||
});
|
||||
}, []);
|
||||
let domElements = [];
|
||||
|
||||
for (const {type, message} of tests) {
|
||||
vm.$Message[type]({
|
||||
content: message,
|
||||
duration: 10 // long so we can test
|
||||
});
|
||||
}
|
||||
|
||||
const checkAllMessageOpens = () => {
|
||||
domElements = document.querySelectorAll('.ivu-message-custom-content');
|
||||
return domElements.length == tests.length && domElements;
|
||||
};
|
||||
|
||||
waitForIt(checkAllMessageOpens, function() {
|
||||
const verify = {};
|
||||
domElements.forEach(el => {
|
||||
const message = el.textContent.trim();
|
||||
const test = tests.find(test => test.message == message);
|
||||
verify[test.type] = true;
|
||||
expect(el.classList.contains(test.class)).to.equal(true);
|
||||
});
|
||||
expect(Object.keys(verify).length).to.equal(tests.length);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue