Skip to content

Commit 8df3773

Browse files
committed
✅ test: update Snapshot
1 parent 55b6733 commit 8df3773

7 files changed

+25
-119
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"vue": "*"
4242
},
4343
"devDependencies": {
44+
"@vue/server-test-utils": "^1.0.0-beta.26",
4445
"@vue/test-utils": "^1.0.0-beta.18",
4546
"@vuedoc/md": "^1.5.0",
4647
"autoprefixer": "^8.5.2",

test/__snapshots__/complex.test.js.snap

+8-66
Original file line numberDiff line numberDiff line change
@@ -4,77 +4,19 @@ exports[`Component Snapshot 1`] = `
44
<div>
55
<h1>Newsletter Subscription</h1>
66
<p>Sign up for free newsletters and get more delivered to your inbox</p>
7-
<form>
8-
<label placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"><span data-required-field="true">Full Name</span>
9-
<input placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"
10-
value="">
11-
</label>
12-
<label type="email" placeholder="Your Email" title="Please enter your email" label="Email" description="" required="required" name="email" maxlength="120"><span data-required-field="true">Email</span>
13-
<input type="email" placeholder="Your Email" title="Please enter your email" label="Email" description="" required="required" name="email" maxlength="120" value="">
14-
</label>
7+
<form><label placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"><span data-required-field="true">Full Name</span><input placeholder="Your Full Name" title="Please enter your full name" type="text" value="" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"></label><label type="email" placeholder="Your Email" title="Please enter your email" label="Email" description="" required="required" name="email" maxlength="120"><span data-required-field="true">Email</span><input type="email" placeholder="Your Email" title="Please enter your email" value="" label="Email" description="" required="required" name="email" maxlength="120"></label>
158
<div class="sub">
16-
<div class="sub-title">SubTitle</div>
17-
<label placeholder="Sub Full Name" title="Please enter your full name" type="text" label="SubName" description="" name="sub.sName" minlength="8" maxlength="80"><span data-required-field="false">SubName</span>
18-
<input placeholder="Sub Full Name" title="Please enter your full name" type="text" label="SubName" description="" name="sub.sName" minlength="8" maxlength="80" value="">
19-
</label>
20-
<label type="url" label="SubUrl" description="" name="sub.sUrl"><span data-required-field="false">SubUrl</span>
21-
<input type="url" label="SubUrl" description="" name="sub.sUrl" value="">
22-
</label>
9+
<div class="sub-title">SubTitle</div><label placeholder="Sub Full Name" title="Please enter your full name" type="text" label="SubName" description="" name="sub.sName" minlength="8" maxlength="80"><span data-required-field="false">SubName</span><input placeholder="Sub Full Name" title="Please enter your full name" type="text" value="" label="SubName" description="" name="sub.sName" minlength="8" maxlength="80"></label><label type="url" label="SubUrl" description="" name="sub.sUrl"><span data-required-field="false">SubUrl</span><input type="url" value="" label="SubUrl" description="" name="sub.sUrl"></label>
2310
<div class="sub">
24-
<div class="sub-title">Sub2Title</div>
25-
<label type="text" pattern="*" label="Sub2Name" description="" required="required" name="sub.sub2.sName2"><span data-required-field="true">Sub2Name</span>
26-
<input type="text" pattern="*" label="Sub2Name" description="" required="required" name="sub.sub2.sName2" value="">
27-
</label>
28-
<label type="email" label="Sub2Email" description="" name="sub.sub2.sEmail2"><span data-required-field="false">Sub2Email</span>
29-
<input type="email" label="Sub2Email" description="" name="sub.sub2.sEmail2" value="">
30-
</label>
31-
<label type="number" schemaType="integer" label="Sub2Age" description="" name="sub.sub2.sAge"><span data-required-field="false">Sub2Age</span>
32-
<input type="number" schemaType="integer" label="Sub2Age" description="" name="sub.sub2.sAge" value="">
33-
</label>
11+
<div class="sub-title">Sub2Title</div><label type="text" pattern="*" label="Sub2Name" description="" required="required" name="sub.sub2.sName2"><span data-required-field="true">Sub2Name</span><input type="text" pattern="*" value="" label="Sub2Name" description="" required="required" name="sub.sub2.sName2"></label><label type="email" label="Sub2Email" description="" name="sub.sub2.sEmail2"><span data-required-field="false">Sub2Email</span><input type="email" value="" label="Sub2Email" description="" name="sub.sub2.sEmail2"></label><label type="number" schemaType="integer" label="Sub2Age" description="" name="sub.sub2.sAge"><span data-required-field="false">Sub2Age</span><input type="number" value="" schemaType="integer" label="Sub2Age" description="" name="sub.sub2.sAge"></label>
3412
</div>
35-
</div>
36-
<label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select"><span data-required-field="true">List</span>
37-
<select placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]"
38-
type="select" value="">
13+
</div><label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select"><span data-required-field="true">List</span><select placeholder="Select your list subscription" title="Please select your list subscription" value="" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select">
3914
<option value="Daily New">Daily New</option>
4015
<option value="Promotion">Promotion</option>
41-
</select>
42-
</label>
43-
<label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="array" label="List2" description="" name="lists2" items="[object Object],[object Object]" type="checkbox"><span data-required-field="false">List2</span>
44-
<div placeholder="Select your list subscription" title="Please select your list subscription" schemaType="array" label="List2" description="" name="lists2" items="[object Object],[object Object]" type="checkbox"
45-
value="">
46-
<input value="daily" label="Daily New">
47-
<input value="promotion" label="Promotion">
48-
</div>
49-
</label>
50-
<label schemaType="array" label="List3" description="" name="lists3" items="[object Object],[object Object]" type="radio"><span data-required-field="false">List3</span>
51-
<div schemaType="array" label="List3" description="" name="lists3" items="[object Object],[object Object]" type="radio" value="">
52-
<input value="daily" label="Daily New">
53-
<input value="promotion" label="Promotion">
54-
</div>
55-
</label>
56-
<label schemaType="array" label="List4" description="" name="lists4" items="" type="array"><span data-required-field="false">List4</span>
57-
<div schemaType="array" label="List4" description="" name="lists4" items="" type="array" value=""></div>
58-
</label>
59-
<label type="textarea" placeholder="How did you hear about us?" schemaType="string" label="Source" description="Ex. Using the NPM Search Engine" name="source" maxlength="120"><span data-required-field="false">Source</span>
60-
<textarea type="textarea" placeholder="How did you hear about us?" schemaType="string" label="Source" description="Ex. Using the NPM Search Engine" name="source" maxlength="120" value=""></textarea>
61-
<br>
62-
<small>Ex. Using the NPM Search Engine</small>
63-
</label>
64-
<label type="rate" allow-half="true" schemaType="number" label="Rate" description="" name="rate"><span data-required-field="false">Rate</span>
65-
<input type="rate" allow-half="true" schemaType="number" label="Rate" description="" name="rate" value="2">
66-
</label>
67-
<label type="color" schemaType="string" label="Color" description="" name="color"><span data-required-field="false">Color</span>
68-
<input type="color" schemaType="string" label="Color" description="" name="color" value="#409EFF">
69-
</label>
70-
<label type="switch" schemaType="boolean" label="Agree" description="You agree to receive occasional updates and special offers for vue-json-schema updates." name="agree"><span data-required-field="false">Agree</span>
71-
<input type="switch" schemaType="boolean" label="Agree" description="You agree to receive occasional updates and special offers for vue-json-schema updates." name="agree">
72-
<br>
73-
<small>You agree to receive occasional updates and special offers for vue-json-schema updates.</small>
74-
</label>
75-
<label>
76-
<button type="submit" label="Submit">Submit</button>
77-
</label>
16+
</select></label><label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="array" label="List2" description="" name="lists2" items="[object Object],[object Object]" type="checkbox"><span data-required-field="false">List2</span>
17+
<div placeholder="Select your list subscription" title="Please select your list subscription" value="" schemaType="array" label="List2" description="" name="lists2" items="[object Object],[object Object]" type="checkbox"><input value="daily" label="Daily New"><input value="promotion" label="Promotion"></div></label><label schemaType="array" label="List3" description="" name="lists3" items="[object Object],[object Object]" type="radio"><span data-required-field="false">List3</span>
18+
<div value="" schemaType="array" label="List3" description="" name="lists3" items="[object Object],[object Object]" type="radio"><input value="daily" label="Daily New"><input value="promotion" label="Promotion"></div></label><label schemaType="array" label="List4" description="" name="lists4" items="" type="array"><span data-required-field="false">List4</span>
19+
<div value="" schemaType="array" label="List4" description="" name="lists4" items="" type="array"></div></label><label type="textarea" placeholder="How did you hear about us?" schemaType="string" label="Source" description="Ex. Using the NPM Search Engine" name="source" maxlength="120"><span data-required-field="false">Source</span><textarea type="textarea" placeholder="How did you hear about us?" value="" schemaType="string" label="Source" description="Ex. Using the NPM Search Engine" name="source" maxlength="120"></textarea><br><small>Ex. Using the NPM Search Engine</small></label><label type="rate" allow-half="true" schemaType="number" label="Rate" description="" name="rate"><span data-required-field="false">Rate</span><input type="rate" allow-half="true" value="2" schemaType="number" label="Rate" description="" name="rate"></label><label type="color" schemaType="string" label="Color" description="" name="color"><span data-required-field="false">Color</span><input type="color" value="#409EFF" schemaType="string" label="Color" description="" name="color"></label><label type="switch" schemaType="boolean" label="Agree" description="You agree to receive occasional updates and special offers for vue-json-schema updates." name="agree"><span data-required-field="false">Agree</span><input type="switch" schemaType="boolean" label="Agree" description="You agree to receive occasional updates and special offers for vue-json-schema updates." name="agree"><br><small>You agree to receive occasional updates and special offers for vue-json-schema updates.</small></label><label><button type="submit" label="Submit">Submit</button></label>
7820
</form>
7921
</div>
8022
`;

test/__snapshots__/schema.test.js.snap

+1-11
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,6 @@
22

33
exports[`schema Snapshot 1`] = `
44
<div>
5-
<form>
6-
<input placeholder="Your First and Second Name" type="text" schemaType="string" label="" description="" required="required" name="name" minlength="8" maxlength="80" value="">
7-
<input placeholder="Enter your email" autoComplete="off" type="text" schemaType="string" label="" description="" required="required" name="email" minlength="8" maxlength="120" value="">
8-
<input type="password" placeholder="Enter your password" autoComplete="off" schemaType="string" label="" description="" required="required" name="password" minlength="8" maxlength="120" value="">
9-
<label schemaType="boolean" label="I accept the terms of use" description="" required="required" name="termsAccepted" type="checkbox"><span data-required-field="true">I accept the terms of use</span>
10-
<input schemaType="boolean" label="I accept the terms of use" description="" required="required" name="termsAccepted" type="checkbox" value="">
11-
</label>
12-
<label>
13-
<button type="submit" label="Submit">Submit</button>
14-
</label>
15-
</form>
5+
<form><input placeholder="Your First and Second Name" name="name" minlength="8" maxlength="80" type="text" value="" schemaType="string" label="" description="" required="required"><input placeholder="Enter your email" autoComplete="off" name="email" minlength="8" maxlength="120" type="text" value="" schemaType="string" label="" description="" required="required"><input type="password" placeholder="Enter your password" autoComplete="off" name="password" minlength="8" maxlength="120" value="" schemaType="string" label="" description="" required="required"><label name="termsAccepted" type="checkbox" schemaType="boolean" label="I accept the terms of use" description="" required="required"><span data-required-field="true">I accept the terms of use</span><input name="termsAccepted" type="checkbox" value="" schemaType="boolean" label="I accept the terms of use" description="" required="required"></label><label><button type="submit" label="Submit">Submit</button></label></form>
166
</div>
177
`;

test/__snapshots__/simple.test.js.snap

+2-17
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,9 @@ exports[`Component Snapshot 1`] = `
44
<div>
55
<h1>Newsletter Subscription</h1>
66
<p>Sign up for free newsletters and get more delivered to your inbox</p>
7-
<form>
8-
<label placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"><span data-required-field="true">Full Name</span>
9-
<input placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"
10-
value="">
11-
</label>
12-
<label type="email" placeholder="Your Email" title="Please enter your email" schemaType="string" label="Email" description="" required="required" name="email" maxlength="120"><span data-required-field="true">Email</span>
13-
<input type="email" placeholder="Your Email" title="Please enter your email" schemaType="string" label="Email" description="" required="required" name="email" maxlength="120" value="">
14-
</label>
15-
<label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select"><span data-required-field="true">List</span>
16-
<select placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]"
17-
type="select" value="">
7+
<form><label placeholder="Your Full Name" title="Please enter your full name" type="text" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"><span data-required-field="true">Full Name</span><input placeholder="Your Full Name" title="Please enter your full name" type="text" value="" schemaType="string" label="Full Name" description="" required="required" name="name" minlength="8" maxlength="80"></label><label type="email" placeholder="Your Email" title="Please enter your email" schemaType="string" label="Email" description="" required="required" name="email" maxlength="120"><span data-required-field="true">Email</span><input type="email" placeholder="Your Email" title="Please enter your email" value="" schemaType="string" label="Email" description="" required="required" name="email" maxlength="120"></label><label placeholder="Select your list subscription" title="Please select your list subscription" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select"><span data-required-field="true">List</span><select placeholder="Select your list subscription" title="Please select your list subscription" value="" schemaType="string" label="List" description="" required="required" name="lists" items="[object Object],[object Object]" type="select">
188
<option value="Daily New">Daily New</option>
199
<option value="Promotion">Promotion</option>
20-
</select>
21-
</label>
22-
<label>
23-
<button type="submit" label="Submit">Submit</button>
24-
</label>
25-
</form>
10+
</select></label><label><button type="submit" label="Submit">Submit</button></label></form>
2611
</div>
2712
`;

test/complex.test.js

+4-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
import { shallowMount } from '@vue/test-utils';
4-
import { createRenderer } from 'vue-server-renderer';
4+
import { renderToString } from '@vue/server-test-utils';
55

66
const packPath = process.env.TEST_LIB ? '../lib/json-editor.min.js' : '../src/JsonEditor.vue';
77
const pack = require(packPath);
@@ -17,16 +17,11 @@ describe('Component', () => {
1717
expect(wrapper.isVueInstance()).toBeTruthy();
1818
});
1919

20-
it('Snapshot', done => {
21-
const wrapper = shallowMount(JsonEditor, {
20+
it('Snapshot', () => {
21+
const renderedString = renderToString(JsonEditor, {
2222
propsData: { schema },
2323
});
24-
const renderer = createRenderer();
25-
renderer.renderToString(wrapper.vm, (err, str) => {
26-
if (err) throw new Error(err);
27-
expect(str).toMatchSnapshot();
28-
done();
29-
});
24+
expect(renderedString).toMatchSnapshot();
3025
});
3126

3227
});

test/schema.test.js

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
import { shallowMount } from '@vue/test-utils';
4-
import { createRenderer } from 'vue-server-renderer';
4+
import { renderToString } from '@vue/server-test-utils';
55

66
const packPath = process.env.TEST_LIB ? '../lib/json-editor.min.js' : '../src/JsonEditor.vue';
77
const pack = require(packPath);
@@ -80,13 +80,11 @@ describe('schema', () => {
8080
expect(button.innerHTML).toBe('Submit');
8181
});
8282

83-
test('Snapshot', done => {
84-
const renderer = createRenderer();
85-
renderer.renderToString(wrapper.vm, (err, str) => {
86-
if (err) throw new Error(err);
87-
expect(str).toMatchSnapshot();
88-
done();
83+
test('Snapshot', () => {
84+
const renderedString = renderToString(JsonEditor, {
85+
propsData: { schema, value: model },
8986
});
87+
expect(renderedString).toMatchSnapshot();
9088
});
9189

9290
});

test/simple.test.js

+4-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
import { shallowMount } from '@vue/test-utils';
4-
import { createRenderer } from 'vue-server-renderer';
4+
import { renderToString } from '@vue/server-test-utils';
55

66
const packPath = process.env.TEST_LIB ? '../lib/json-editor.min.js' : '../src/JsonEditor.vue';
77
const pack = require(packPath);
@@ -25,16 +25,11 @@ describe('Component', () => {
2525
expect(wrapper.isVueInstance()).toBeTruthy();
2626
});
2727

28-
it('Snapshot', done => {
29-
const wrapper = shallowMount(JsonEditor, {
28+
it('Snapshot', () => {
29+
const renderedString = renderToString(JsonEditor, {
3030
propsData: { schema },
3131
});
32-
const renderer = createRenderer();
33-
renderer.renderToString(wrapper.vm, (err, str) => {
34-
if (err) throw new Error(err);
35-
expect(str).toMatchSnapshot();
36-
done();
37-
});
32+
expect(renderedString).toMatchSnapshot();
3833
});
3934

4035
describe('Mount with data and set data', () => {

0 commit comments

Comments
 (0)