UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

101 lines (84 loc) 3.5 kB
'use strict'; 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' } }; describe('Checkbox', 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-checkbox checkbox checkbox-md checkbox-md-primary"><div class="checkbox-icon"><div class="checkbox-inner"></div></div> <button class="ion-button item-cover item-cover item-cover-md item-cover-default item-cover-default-md item-cover-md-default" type="button"><span class="button-inner"></span></button></div>'; expect(wrapper.html()).toEqual(result); }); 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('Checkbox'); }); it('@base: have the right className', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default, options); expect(wrapper.hasClass('ion-checkbox')).toBeTruthy(); }); it('@props: color', function () { var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), { propsData: { value: true, color: 'danger', mode: 'ios' } }); var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); expect(wrapper.hasClass('checkbox-ios-danger')).toBeTruthy(); }); it('@props: mode', function () { var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), { propsData: { mode: 'md' } }); var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); expect(wrapper.hasClass('checkbox-md')).toBeTruthy(); }); it('@props: mode(default)', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default); expect(wrapper.hasClass('checkbox-ios')).toBeTruthy(); }); it('@props: disabled', function () { var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), { propsData: { mode: 'md', disabled: true } }); var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); expect(wrapper.hasClass('checkbox-disabled')).toBeTruthy(); }); it('@props: value', function () { var opts = (0, _deepAssign2.default)((0, _lodash2.default)(options), { propsData: { value: true } }); var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); var html = '<div class="ion-checkbox checkbox checkbox-ios checkbox-ios-primary"><div class="checkbox-icon checkbox-checked"><div class="checkbox-inner"></div></div> <button class="ion-button item-cover item-cover item-cover-ios item-cover-default item-cover-default-ios item-cover-ios-default" type="button"><span class="button-inner"></span></button></div>'; expect(wrapper.html()).toEqual(html); }); });