vimo
Version:
A Vue2.x UI Project For Mobile & HyBrid
102 lines (86 loc) • 2.86 kB
JavaScript
;
var _vueTestUtils = require('vue-test-utils');
var _deepAssign = require('deep-assign');
var _deepAssign2 = _interopRequireDefault(_deepAssign);
var _lodash = require('lodash.clonedeep');
var _lodash2 = _interopRequireDefault(_lodash);
var _index = require('../index');
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var options = {
propsData: {
color: 'primary',
mode: 'ios'
},
slots: {
default: '<span>Test</span>'
}
};
describe('Card', function () {
it('@base: renders the correct markup', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
propsData: {
mode: 'md'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
var result = '<div class="ion-card card card-md card-md-primary"><span>Test</span></div>';
expect(wrapper.html()).toEqual(result);
});
it('@base: renders the correct text', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
slots: {
default: '<span>Test</span>'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
expect(wrapper.text()).toEqual('Test');
});
it('@base: component must have a name', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
slots: {
default: '<span>Name</span>'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
expect(wrapper.name()).toEqual('Card');
});
it('@base: have the right className', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
slots: {
default: '<span>HasClass</span>'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
expect(wrapper.hasClass('ion-card')).toBeTruthy();
});
it('@props: color', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
propsData: {
color: 'danger',
mode: 'md'
},
slots: {
default: '<span>color</span>'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
expect(wrapper.hasClass('card-md-danger')).toBeTruthy();
});
it('@props: mode', function () {
var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), {
propsData: {
mode: 'md'
},
slots: {
default: '<span>mode</span>'
}
});
var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts);
expect(wrapper.hasClass('card-md')).toBeTruthy();
});
it('@props: mode(default)', function () {
var wrapper = (0, _vueTestUtils.mount)(_index2.default);
expect(wrapper.hasClass('card-ios')).toBeTruthy();
});
});