UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

133 lines (106 loc) 4.01 kB
'use strict'; var _vueTestUtils = require('vue-test-utils'); var _index = require('../index'); var _index2 = _interopRequireDefault(_index); var _deepAssign = require('deep-assign'); var _deepAssign2 = _interopRequireDefault(_deepAssign); var _lodash = require('lodash.clonedeep'); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var opts = { slots: { default: '<span>Name</span>' } }; describe('App', function () { it('@base: renders the correct markup', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); var result = '<article id="ios" class="ion-app ios app-ios platform-ios"><section class="app-root"><span>Name</span></section> <aside id="modalPortal"></aside> <aside id="sheetPortal"></aside> <aside id="alertPortal"></aside> <aside id="loadingPortal"></aside> <aside id="toastPortal"></aside> <aside class="click-block"></aside> </article>'; expect(wrapper.html()).toEqual(result); }); it('@base: component must have a name', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); expect(wrapper.name()).toEqual('App'); }); it('@base: renders the correct text', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default, opts); expect(wrapper.text().trim()).toEqual('Name'); }); it('@props: mode', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default, (0, _deepAssign2.default)((0, _lodash2.default)(opts), { propsData: { mode: 'md' } })); expect(wrapper.hasClass('platform-md')).toBeTruthy(); expect(wrapper.hasClass('md')).toBeTruthy(); }); it('setEnabled(false)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setEnabled(false, 10); expect(wrapper.vm.isEnabled).toBeFalsy(); setTimeout(function () { expect(wrapper.vm.isEnabled).toBeTruthy(); cb(); }, 1000); }); it('setEnabled(true)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setEnabled(true); setTimeout(function () { expect(wrapper.vm.isEnabled).toBeTruthy(); cb(); }, 1000); }); it('setDisableScroll(false)', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setDisableScroll(false); expect(wrapper.vm.isScrollDisabled).toBeFalsy(); }); it('setDisableScroll(true)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setDisableScroll(true, 90); expect(wrapper.vm.isScrollDisabled).toBeTruthy(); setTimeout(function () { expect(wrapper.vm.isScrollDisabled).toBeFalsy(); cb(); }, 100); }); it('setClass()', function () { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setClass('test123', true); expect(wrapper.hasClass('test123')).toBeTruthy(); }); it('setDocTitle()', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.setDocTitle('title123'); setTimeout(function () { expect(document.title).toEqual('title123'); cb(); }, 100); }); it('$on(onScrollStart)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.$root.$emit('onScrollStart'); setTimeout(function () { expect(wrapper.vm.isScrolling).toBeTruthy(); cb(); }, 0); }); it('$on(onScroll)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.$root.$emit('onScroll'); setTimeout(function () { expect(wrapper.vm.isScrolling).toBeTruthy(); cb(); }, 0); }); it('$on(onScrollEnd)', function (cb) { var wrapper = (0, _vueTestUtils.mount)(_index2.default); wrapper.vm.$root.$emit('onScrollEnd'); setTimeout(function () { expect(wrapper.vm.isScrolling).toBeFalsy(); cb(); }, 0); }); });