@@ -55,10 +55,7 @@ describe("VueFormGenerator.vue", () => {
55
55
readonly : false ,
56
56
featured : false ,
57
57
required : false ,
58
- disabled : false ,
59
- hint : null ,
60
- helpText : null ,
61
- placeholder : "User's name"
58
+ disabled : false
62
59
}
63
60
]
64
61
} ;
@@ -112,53 +109,109 @@ describe("VueFormGenerator.vue", () => {
112
109
} )
113
110
} ) ;
114
111
112
+ it ( "should be add a custom classes" , ( done ) => {
113
+ vm . $set ( "schema.fields[0].styleClasses" , "classA" ) ;
114
+ vm . $nextTick ( ( ) => {
115
+ expect ( tr . classList . contains ( "classA" ) ) . to . be . true ;
116
+ done ( ) ;
117
+ } )
118
+ } ) ;
119
+
120
+ it ( "should be add more custom classes" , ( done ) => {
121
+ vm . $set ( "schema.fields[0].styleClasses" , [ "classB" , "classC" ] ) ;
122
+ vm . $nextTick ( ( ) => {
123
+ expect ( tr . classList . contains ( "classB" ) ) . to . be . true ;
124
+ expect ( tr . classList . contains ( "classC" ) ) . to . be . true ;
125
+ done ( ) ;
126
+ } )
127
+ } ) ;
128
+
115
129
} ) ;
116
- /*
117
- describe("check form row classes", () => {
130
+
131
+ describe ( "check form row caption cell" , ( ) => {
132
+ let tr , tdCaption , tdField ;
118
133
let schema = {
119
134
fields : [
120
135
{
121
136
type : "text" ,
122
137
label : "Name" ,
123
138
model : "name" ,
124
- readonly: false,
125
- featured: false,
126
- required: false,
127
- disabled: false,
128
- hint: null,
129
- helpText: null,
130
- placeholder: "User's name"
139
+ help : null
131
140
}
132
141
]
133
142
} ;
134
- let model = null;
135
143
136
- beforeEach((done) => {
137
- createFormGenerator(schema, model, {}, (_el, _vm) => {
138
- el = _el;
139
- vm = _vm;
144
+ before ( ( ) => {
145
+ createFormGenerator ( schema ) ;
146
+ tr = el . getElementsByTagName ( "tr" ) [ 0 ] ;
147
+ tdCaption = tr . getElementsByTagName ( "td" ) [ 0 ] ;
148
+ tdField = tr . getElementsByTagName ( "td" ) [ 1 ] ;
149
+ } ) ;
150
+
151
+ it ( "should be text of cell is the name of field" , ( ) => {
152
+ expect ( tdCaption ) . to . be . exist ;
153
+ expect ( tdCaption . textContent ) . to . be . equal ( "Name" ) ;
154
+ } ) ;
155
+
156
+ it ( "should be a question icon if has helpText" , ( done ) => {
157
+ vm . schema . fields [ 0 ] . help = "Sample help" ;
158
+ vm . $nextTick ( ( ) => {
159
+ let span = tr . querySelector ( ".help" ) ;
160
+ expect ( span ) . to . be . exist ;
161
+ expect ( span . querySelector ( "i" ) ) . to . be . exist ;
162
+ expect ( span . querySelector ( ".helpText" ) ) . to . be . exist ;
163
+ expect ( span . querySelector ( ".helpText" ) . textContent ) . to . be . equal ( "Sample help" ) ;
140
164
done ( ) ;
141
- });
165
+ } )
142
166
} ) ;
143
167
144
- it("should be create a row and an input text field with empty value", () => {
145
- // check row
146
- let tr = el.getElementsByTagName("tr")[0];
147
- expect(tr).to.be.exist;
148
- expect(tr.classList.length).to.be.equal(0);
168
+ } ) ;
149
169
150
- let tdCaption = tr.getElementsByTagName("td")[0];
151
- expect(tdCaption).to.be.exist;
152
- expect(tdCaption.textContent.trim()).to.be.equal("Name"); // TODO why need to trim?
153
-
154
- let tdField = tr.getElementsByTagName("td")[1];
155
- expect(tdField).to.be.exist;
156
-
157
- let input = tdField.getElementsByTagName("input")[0];
158
- expect(input).to.be.exist;
159
- expect(input.type).to.be.equal("text");
170
+ describe ( "check form row field cell" , ( ) => {
171
+ let tr , tdField ;
172
+ let schema = {
173
+ fields : [
174
+ {
175
+ type : "text" ,
176
+ label : "Name" ,
177
+ model : "name" ,
178
+ hint : "Hint text" ,
179
+ errors : [ ] ,
180
+ placeholder : "User's name"
181
+ }
182
+ ]
183
+ } ;
184
+
185
+ before ( ( ) => {
186
+ createFormGenerator ( schema ) ;
187
+ tr = el . getElementsByTagName ( "tr" ) [ 0 ] ;
188
+ tdField = tr . getElementsByTagName ( "td" ) [ 1 ] ;
189
+ } ) ;
190
+
191
+ it ( "should be a .field-wrap div" , ( ) => {
192
+ expect ( tdField . querySelector ( ".field-wrap" ) ) . to . be . exist ;
193
+ } ) ;
194
+
195
+ it ( "should be a hint div if hint is not null" , ( ) => {
196
+ let hint = tdField . querySelector ( ".hint" ) ;
197
+ expect ( hint ) . to . be . exist ;
198
+ expect ( hint . textContent ) . to . be . equal ( "Hint text" ) ;
160
199
} ) ;
161
200
162
- }); */
201
+ it ( "should be .errors div if there are errors in fields" , ( done ) => {
202
+ vm . schema . fields [ 0 ] . errors . push ( "Some error!" , "Another error!" ) ;
203
+ vm . $nextTick ( ( ) => {
204
+ let div = tdField . querySelector ( ".errors" ) ;
205
+ expect ( div ) . to . be . exist ;
206
+ let errors = div . querySelectorAll ( "span" ) ;
207
+ expect ( errors . length ) . to . be . equal ( 2 ) ;
208
+ expect ( errors [ 0 ] . textContent ) . to . be . equal ( "Some error!" ) ;
209
+ expect ( errors [ 1 ] . textContent ) . to . be . equal ( "Another error!" ) ;
210
+ done ( ) ;
211
+ } ) ;
212
+ } ) ;
213
+
214
+ } ) ;
215
+
163
216
164
217
} ) ;
0 commit comments