Skip to content

Commit 4cd7bc6

Browse files
committed
✅ test: add tests to dateTime field
1 parent a5d714d commit 4cd7bc6

File tree

2 files changed

+117
-0
lines changed

2 files changed

+117
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
import { expect } from "chai";
2+
import { createVueField, trigger } from "../util";
3+
4+
import Vue from "vue";
5+
import FieldDateTime from "src/fields/fieldDateTime.vue";
6+
7+
Vue.component("FieldDateTime", FieldDateTime);
8+
9+
let el, vm, field;
10+
11+
function createField(schema = {}, model = null, disabled = false, options) {
12+
[ el, vm, field ] = createVueField("fieldDateTime", schema, model, disabled, options);
13+
}
14+
15+
describe.only("fieldDateTime.vue", () => {
16+
17+
describe("check template", () => {
18+
let schema = {
19+
type: "dateTime",
20+
label: "Event",
21+
model: "event"
22+
};
23+
let model = { event: 1462799081231 };
24+
let input;
25+
26+
before( () => {
27+
createField(schema, model, false);
28+
input = el.getElementsByTagName("input")[0];
29+
});
30+
31+
it("should contain an input text element", () => {
32+
expect(field).to.be.exist;
33+
expect(field.$el).to.be.exist;
34+
35+
expect(input).to.be.defined;
36+
expect(input.type).to.be.equal("text");
37+
expect(input.classList.contains("form-control")).to.be.true;
38+
expect(input.disabled).to.be.false;
39+
});
40+
41+
it("should contain the value", (done) => {
42+
vm.$nextTick( () => {
43+
expect(input.value).to.be.equal("2016-05-09 15:04:41");
44+
done();
45+
});
46+
});
47+
48+
it("should set disabled", (done) => {
49+
field.disabled = true;
50+
vm.$nextTick( () => {
51+
expect(input.disabled).to.be.true;
52+
done();
53+
});
54+
});
55+
56+
it("input value should be the model value after changed", (done) => {
57+
model.event = 1234567890123;
58+
vm.$nextTick( () => {
59+
expect(input.value).to.be.equal("2009-02-14 00:31:30");
60+
done();
61+
});
62+
63+
});
64+
65+
it("model value should be the input value if changed", (done) => {
66+
input.value = "2015-01-02 11:22:33";
67+
trigger(input, "input");
68+
69+
vm.$nextTick( () => {
70+
expect(model.event).to.be.equal(1420194153000);
71+
done();
72+
});
73+
74+
});
75+
76+
});
77+
78+
describe("check YYYYMMDD format", () => {
79+
let schema = {
80+
type: "dateTime",
81+
label: "Event",
82+
model: "event",
83+
format: "YYYYMMDD",
84+
dateTimePickerOptions: {
85+
format: "YYYY.MM.DD"
86+
}
87+
};
88+
let model = { event: "20160509" };
89+
let input;
90+
91+
before( () => {
92+
createField(schema, model, false);
93+
input = el.getElementsByTagName("input")[0];
94+
});
95+
96+
it("should contain the value", (done) => {
97+
vm.$nextTick( () => {
98+
expect(input.value).to.be.equal("2016.05.09");
99+
done();
100+
});
101+
});
102+
103+
it("model value should be the formatted input value if changed", (done) => {
104+
input.value = "2015.01.02";
105+
trigger(input, "input");
106+
107+
vm.$nextTick( () => {
108+
expect(model.event).to.be.equal("20150102");
109+
done();
110+
});
111+
112+
});
113+
});
114+
115+
});

test/unit/specs/fields/fieldImage.spec.js

+2
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ describe("fieldImage.vue", () => {
170170
let remove = el.querySelector(".remove");
171171
expect(input.value).to.be.equal("base64 image data");
172172
expect(model.avatar).to.be.equal("base64 image data");
173+
174+
window.FileReader = FR;
173175
done();
174176
});
175177
});

0 commit comments

Comments
 (0)