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
+ } ) ;
0 commit comments