zhenyulei 7 年之前
父节点
当前提交
ba9aafca24
共有 2 个文件被更改,包括 27 次插入15 次删除
  1. 1 1
      package.json
  2. 26 14
      src/packages/tab/__test__/tab.spec.js

+ 1 - 1
package.json

@@ -24,7 +24,7 @@
     "build": "npm run build:prod && npm run build:prodmin && npm run build:disp",
     "eslint": "eslint src/packages/**/*.{js,vue}",
     "add": "node scripts/createCptTpl.js",
-    "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text  mocha-webpack --webpack-config build/webpack.test.conf.js --require test/setup.js src/packages/noticebar/__test__/**.spec.js",
+    "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text  mocha-webpack --webpack-config build/webpack.test.conf.js --require test/setup.js src/packages/*/__test__/**.spec.js",
     "coveralls": "cat ./coverage/lcov.info | coveralls",
     "test:watch": "npm run test --watch"
   },

+ 26 - 14
src/packages/tab/__test__/tab.spec.js

@@ -5,17 +5,26 @@ import Vue from 'vue';
 
 describe('Tab.vue', () => {
     const wrapper = mount(Tab);
+    
     it('页签类型为based', () => {
         wrapper.setProps({ type: 'based' });
         return Vue.nextTick().then(function () {
             expect(wrapper.contains('.based')).toBe(true);
         })
     });
-    
+
     it('当前tab的位置', () => {
         wrapper.setProps({ positionNav: 'left' });
         return Vue.nextTick().then(function () {
-            expect(wrapper.contains('.nut-tab')).toBe(true);
+            expect(wrapper.contains('.nut-tab-title-leftnav')).toBe(true);
+            
+        })
+    });
+
+    it('是否显示内容区域', () => {
+        wrapper.setProps({ contentShow: true });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.contains('.nut-tab-item')).toBe(true);
             
         })
     });
@@ -24,7 +33,7 @@ describe('Tab.vue', () => {
         wrapper.setData({ tabTitleList: [
             {
               tabTitle: "衣物",
-              disable: false,
+              disable: true,
               iconUrl:
                 "http://img13.360buyimg.com/uba/jfs/t27280/289/2061314663/2392/872e32ff/5bf76318Ndc80c1d8.jpg",
               content: "<p>衣物内容</p>"
@@ -48,19 +57,22 @@ describe('Tab.vue', () => {
               content: "<p>电影票内容</p>"
             }
           ] });
-             setTimeout(()=>{
-                return Vue.nextTick().then(function () {
-                        expect(wrapper.findAll('.nut-title-nav-leftnav').at(0).is('.nut-tab-disable')).toBe(true)
-                })
-            },10) 
+          return Vue.nextTick().then(function () {
+              expect(wrapper.findAll('.nut-title-nav-leftnav').at(0).is('.nut-tab-disable')).toBe(true)
+          }) 
+    });
+    it('是否显示关闭按钮', () => {
+        wrapper.setProps({ closable: true });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.contains('.close-btn')).toBe(true);
+            
+        })
     });
     it('当前默认选中的tab', () => {
-        wrapper.setProps({ defIndex: 0 });
-        setTimeout(()=>{
-            return Vue.nextTick().then(function () {
-                    expect(wrapper.findAll('.nut-title-nav-list').at(1).is('.nut-tab-active')).toBe(true)
-            })
-        },20)
+        wrapper.setProps({ positionNav: 'top' });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-title-nav-list').at(0).is('.nut-tab-active')).toBe(true)
+        })
     });
     it('tab标签标题', () => {
       return Vue.nextTick().then(function () {