1
+ import { expect } from "chai" ;
2
+ import { createVueField , trigger } from "../util" ;
3
+
4
+ import Vue from "vue" ;
5
+ import FieldCleave from "src/fields/fieldCleave.vue" ;
6
+
7
+ Vue . component ( "FieldCleave" , FieldCleave ) ;
8
+
9
+ let el , vm , field ;
10
+
11
+ function createField ( schema = { } , model = null , disabled = false , options ) {
12
+ [ el , vm , field ] = createVueField ( "fieldCleave" , schema , model , disabled , options ) ;
13
+ }
14
+
15
+ describe ( "fieldCleave.vue" , ( ) => {
16
+
17
+ describe ( "check template" , ( ) => {
18
+ let schema = {
19
+ type : "masked" ,
20
+ label : "Phone" ,
21
+ model : "phone" ,
22
+ phone : true ,
23
+ phoneRegionCode : 'HU' ,
24
+ readonly : false ,
25
+ placeholder : "Field placeholder"
26
+ } ;
27
+ let model = { phone : "(30) 123-4567" } ;
28
+ let input ;
29
+
30
+ before ( ( ) => {
31
+ createField ( schema , model , false ) ;
32
+ input = el . getElementsByTagName ( "input" ) [ 0 ] ;
33
+ } ) ;
34
+
35
+ it ( "should contain an masked input element" , ( ) => {
36
+ expect ( field ) . to . be . exist ;
37
+ expect ( field . $el ) . to . be . exist ;
38
+
39
+ expect ( input ) . to . be . defined ;
40
+ expect ( input . type ) . to . be . equal ( "text" ) ;
41
+ expect ( input . classList . contains ( "form-control" ) ) . to . be . true ;
42
+ expect ( input . placeholder ) . to . be . equal ( schema . placeholder ) ;
43
+ expect ( input . readOnly ) . to . be . false ;
44
+ expect ( input . disabled ) . to . be . false ;
45
+ } ) ;
46
+
47
+ it ( "should contain the value" , ( done ) => {
48
+ vm . $nextTick ( ( ) => {
49
+ expect ( input . value ) . to . be . equal ( "(30) 123-4567" ) ;
50
+ done ( ) ;
51
+ } ) ;
52
+ } ) ;
53
+
54
+ it ( "should set readOnly" , ( done ) => {
55
+ schema . readonly = true ;
56
+ vm . $nextTick ( ( ) => {
57
+ expect ( input . readOnly ) . to . be . true ;
58
+ done ( ) ;
59
+ } ) ;
60
+ } ) ;
61
+
62
+ it ( "should set disabled" , ( done ) => {
63
+ field . disabled = true ;
64
+ vm . $nextTick ( ( ) => {
65
+ expect ( input . disabled ) . to . be . true ;
66
+ done ( ) ;
67
+ } ) ;
68
+ } ) ;
69
+
70
+ it ( "input value should be the model value after changed" , ( done ) => {
71
+ model . phone = "(70) 555-4433" ;
72
+ vm . $nextTick ( ( ) => {
73
+ expect ( input . value ) . to . be . equal ( "(70) 555-4433" ) ;
74
+ done ( ) ;
75
+ } ) ;
76
+
77
+ } ) ;
78
+
79
+ it ( "model value should be the input value if changed" , ( done ) => {
80
+ input . value = "(21) 888-6655" ;
81
+ trigger ( input , "input" ) ;
82
+
83
+ vm . $nextTick ( ( ) => {
84
+ expect ( model . phone ) . to . be . equal ( "(21) 888-6655" ) ;
85
+ done ( ) ;
86
+ } ) ;
87
+
88
+ } ) ;
89
+
90
+ } ) ;
91
+
92
+ } ) ;
0 commit comments