chore: 🤖 add unit test

This commit is contained in:
Binbin Sun
2019-12-29 11:14:03 +08:00
parent 4b8bbcbfde
commit 146b61e70d
5 changed files with 2534 additions and 22 deletions

3
jest.config.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
preset: '@vue/cli-plugin-unit-jest'
}

2447
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,28 +2,16 @@
"name": "vue-tree-list",
"version": "1.4.0",
"description": "A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging.",
"main": "dist/vue-tree-list.umd.min.js",
"author": "ayou",
"scripts": {
"commit": "npx git-cz",
"serve": "vue-cli-service serve dev",
"build": "vue-cli-service build --target lib src/index.js",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint",
"commit": "npx git-cz",
"prepublish": "npm run build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ParadeTo/vue-tree-list.git"
},
"keywords": [
"vue",
"tree"
],
"author": "ayou",
"license": "ISC",
"bugs": {
"url": "https://github.com/ParadeTo/vue-tree-list/issues"
},
"homepage": "https://github.com/ParadeTo/vue-tree-list#readme",
"main": "dist/vue-tree-list.umd.min.js",
"dependencies": {
"core-js": "^3.4.3",
"vue": "^2.6.10"
@@ -31,7 +19,9 @@
"devDependencies": {
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-plugin-unit-jest": "^4.1.1",
"@vue/cli-service": "^4.1.0",
"@vue/test-utils": "1.0.0-beta.29",
"babel-eslint": "^10.0.3",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
@@ -53,10 +43,34 @@
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"overrides": [
{
"files": [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)"
],
"env": {
"jest": true
}
}
]
},
"browserslist": [
"> 1%",
"last 2 versions"
]
],
"bugs": {
"url": "https://github.com/ParadeTo/vue-tree-list/issues"
},
"homepage": "https://github.com/ParadeTo/vue-tree-list#readme",
"keywords": [
"vue",
"tree"
],
"license": "ISC",
"repository": {
"type": "git",
"url": "git+https://github.com/ParadeTo/vue-tree-list.git"
}
}

View File

@@ -94,9 +94,6 @@
let compInOperation = null
export default {
components: {
item: () => import('./VueTreeList')
},
data: function () {
return {
isHover: false,
@@ -155,6 +152,9 @@
}
}
},
beforeCreate () {
this.$options.components.item = require('./VueTreeList').default
},
mounted () {
const vm = this
addHandler(window, 'keyup', function (e) {

View File

@@ -0,0 +1,50 @@
import { mount } from "@vue/test-utils";
import { Tree, VueTreeList } from "@/index";
describe("VueTreeList", () => {
it("renders correctly", () => {
const wrapper = mount(VueTreeList, {
propsData: {
model: new Tree([
{
name: "Node 1",
id: 1,
pid: 0,
dragDisabled: true,
addTreeNodeDisabled: true,
addLeafNodeDisabled: true,
editNodeDisabled: true,
delNodeDisabled: true,
children: [
{
name: "Node 1-2",
id: 2,
isLeaf: true,
pid: 1
}
]
},
{
name: "Node 2",
id: 3,
pid: 0,
disabled: true
},
{
name: "Node 3",
id: 4,
pid: 0
}
]),
defaultTreeNodeName: "new node",
defaultLeafNodeName: "new leaf",
defaultExpanded: false
}
});
expect(wrapper.text()).toMatch(`Node 1················
Node 1-2················
Node 2················
Node 3`);
});
});