From 669e84fdc548ca2a97e1912ca2aa130d1c4577a3 Mon Sep 17 00:00:00 2001 From: Binbin Sun Date: Sun, 29 Dec 2019 11:23:46 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20add=20snapshot=20testin?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jest.config.js | 5 +- package-lock.json | 14 ++-- package.json | 1 + tests/unit/__snapshots__/example.spec.js.snap | 72 +++++++++++++++++++ tests/unit/example.spec.js | 69 +++++++++--------- 5 files changed, 117 insertions(+), 44 deletions(-) create mode 100644 tests/unit/__snapshots__/example.spec.js.snap diff --git a/jest.config.js b/jest.config.js index 0f95791..e66cb0e 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,4 @@ module.exports = { - preset: '@vue/cli-plugin-unit-jest' -} + preset: "@vue/cli-plugin-unit-jest", + snapshotSerializers: ["jest-serializer-vue"] +}; diff --git a/package-lock.json b/package-lock.json index 9f6e659..05bec1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3719,7 +3719,7 @@ }, "condense-newlines": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/condense-newlines/download/condense-newlines-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", "dev": true, "requires": { @@ -3730,7 +3730,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -3739,7 +3739,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -7396,7 +7396,7 @@ }, "is-whitespace": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/is-whitespace/download/is-whitespace-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", "dev": true }, @@ -8090,7 +8090,7 @@ }, "jest-serializer-vue": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/jest-serializer-vue/download/jest-serializer-vue-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", "integrity": "sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=", "dev": true, "requires": { @@ -10601,7 +10601,7 @@ }, "pretty": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pretty/download/pretty-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", "dev": true, "requires": { @@ -10612,7 +10612,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { diff --git a/package.json b/package.json index 110fa63..1ffae4c 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "babel-eslint": "^10.0.3", "eslint": "^5.16.0", "eslint-plugin-vue": "^5.0.0", + "jest-serializer-vue": "^2.0.2", "less": "^3.10.3", "less-loader": "^5.0.0", "vue-template-compiler": "^2.6.10" diff --git a/tests/unit/__snapshots__/example.spec.js.snap b/tests/unit/__snapshots__/example.spec.js.snap new file mode 100644 index 0000000..488fd9c --- /dev/null +++ b/tests/unit/__snapshots__/example.spec.js.snap @@ -0,0 +1,72 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`VueTreeList renders correctly 1`] = ` +
+ +
+
+
+
+
+
+ Node 1 +
+ +
+ +
+ +
+
+
+
+
+ +
+ Node 2 +
+ +
+ +
+ +
+
+
+
+
+ +
+ Node 3 +
+ +
+ +
+ +
+
+
+`; diff --git a/tests/unit/example.spec.js b/tests/unit/example.spec.js index cfa2c57..7482593 100644 --- a/tests/unit/example.spec.js +++ b/tests/unit/example.spec.js @@ -3,48 +3,47 @@ import { Tree, VueTreeList } from "@/index"; describe("VueTreeList", () => { it("renders correctly", () => { + const tree = 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 + } + ]); + 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 - } - ]), + model: tree, defaultTreeNodeName: "new node", defaultLeafNodeName: "new leaf", defaultExpanded: false } }); - expect(wrapper.text()).toMatch(`Node 1················ - Node 1-2················ - Node 2················ - Node 3`); + expect(wrapper).toMatchSnapshot(); }); });