chore: 🤖 add unit test
This commit is contained in:
3
jest.config.js
Normal file
3
jest.config.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
preset: '@vue/cli-plugin-unit-jest'
|
||||||
|
}
|
2447
package-lock.json
generated
2447
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
50
package.json
50
package.json
@@ -2,28 +2,16 @@
|
|||||||
"name": "vue-tree-list",
|
"name": "vue-tree-list",
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"description": "A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging.",
|
"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": {
|
"scripts": {
|
||||||
"commit": "npx git-cz",
|
|
||||||
"serve": "vue-cli-service serve dev",
|
"serve": "vue-cli-service serve dev",
|
||||||
"build": "vue-cli-service build --target lib src/index.js",
|
"build": "vue-cli-service build --target lib src/index.js",
|
||||||
|
"test:unit": "vue-cli-service test:unit",
|
||||||
"lint": "vue-cli-service lint",
|
"lint": "vue-cli-service lint",
|
||||||
|
"commit": "npx git-cz",
|
||||||
"prepublish": "npm run build"
|
"prepublish": "npm run build"
|
||||||
},
|
},
|
||||||
"repository": {
|
"main": "dist/vue-tree-list.umd.min.js",
|
||||||
"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",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.4.3",
|
"core-js": "^3.4.3",
|
||||||
"vue": "^2.6.10"
|
"vue": "^2.6.10"
|
||||||
@@ -31,7 +19,9 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "^4.1.0",
|
"@vue/cli-plugin-babel": "^4.1.0",
|
||||||
"@vue/cli-plugin-eslint": "^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/cli-service": "^4.1.0",
|
||||||
|
"@vue/test-utils": "1.0.0-beta.29",
|
||||||
"babel-eslint": "^10.0.3",
|
"babel-eslint": "^10.0.3",
|
||||||
"eslint": "^5.16.0",
|
"eslint": "^5.16.0",
|
||||||
"eslint-plugin-vue": "^5.0.0",
|
"eslint-plugin-vue": "^5.0.0",
|
||||||
@@ -53,10 +43,34 @@
|
|||||||
},
|
},
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"parser": "babel-eslint"
|
"parser": "babel-eslint"
|
||||||
}
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"**/__tests__/*.{j,t}s?(x)",
|
||||||
|
"**/tests/unit/**/*.spec.{j,t}s?(x)"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"jest": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
"last 2 versions"
|
"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"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -94,9 +94,6 @@
|
|||||||
let compInOperation = null
|
let compInOperation = null
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
|
||||||
item: () => import('./VueTreeList')
|
|
||||||
},
|
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
isHover: false,
|
isHover: false,
|
||||||
@@ -155,6 +152,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
beforeCreate () {
|
||||||
|
this.$options.components.item = require('./VueTreeList').default
|
||||||
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
const vm = this
|
const vm = this
|
||||||
addHandler(window, 'keyup', function (e) {
|
addHandler(window, 'keyup', function (e) {
|
||||||
|
50
tests/unit/example.spec.js
Normal file
50
tests/unit/example.spec.js
Normal 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`);
|
||||||
|
});
|
||||||
|
});
|
Reference in New Issue
Block a user