@@ -13,15 +13,66 @@ class Select2Spec extends GebReportingSpec {
13
13
title == " Preview Select2 example"
14
14
page. model != null
15
15
16
+ and : " configured placeholders are displayed"
17
+ def item1 = page. findFieldByModelName(" item1" )
18
+ item1. next(). find(" .select2-selection__placeholder" ). text() == " Please select..."
19
+ def item2 = page. findFieldByModelName(" item2" )
20
+ item2. next(). find(" .select2-selection__placeholder" ). text() == " Custom placeholder"
21
+ def item3 = page. findFieldByModelName(" item3" )
22
+ item3. next(). find(" input.select2-search__field" ). attr(" placeholder" ) == " Custom placeholder"
23
+ def item4 = page. findFieldByModelName(" item4" )
24
+ item4. next(). find(" .select2-selection__placeholder" ). text() == " Please select..."
25
+ def item5 = page. findFieldByModelName(" item5" )
26
+ item5. next(). find(" .select2-selection__placeholder" ). text() == " Custom placeholder"
27
+ def item6 = page. findFieldByModelName(" item6" )
28
+ item6. next(). find(" input.select2-search__field" ). attr(" placeholder" ) == " Select all that apply..."
29
+
16
30
when : " We enter data into the fields"
17
31
page. findFieldByModelName(" item1" ). value(" value 1" )
18
32
page. findFieldByModelName(" item2" ). value(" value 2" )
19
33
page. findFieldByModelName(" item3" ). value([" value 1" , " value 3" ])
34
+ page. findFieldByModelName(" item4" ). value(" this is a much longer value" )
35
+ page. findFieldByModelName(" item5" ). value(" value 2" )
36
+ page. findFieldByModelName(" item6" ). value([" value 2" , " value 3" ])
37
+
20
38
21
39
then : " The model has been updated with the selected values"
22
40
page. model. data. item1 == " value 1"
23
41
page. model. data. item2 == " value 2"
24
42
page. model. data. item3 == [" value 1" , " value 3" ]
43
+ page. model. data. nested[0 ]. item4 == " this is a much longer value"
44
+ page. model. data. nested[0 ]. item5 == " value 2"
45
+ page. model. data. nested[0 ]. item6 == [" value 2" , " value 3" ]
46
+ }
47
+
48
+ def " Select2 components will display existing data in the model when the page loads" () {
49
+ when :
50
+ to ([name :' select2Example' , data :' select2-view-data' ], PreviewPage )
51
+
52
+ then :
53
+ title == " Preview Select2 example"
54
+ page. model != null
55
+
56
+ and : " The values from the data model are displayed"
57
+
58
+ page. findFieldByModelName(" item1" ). next(). find(" span.select2-selection__rendered" ). text(). contains(" value 1" )
59
+ page. findFieldByModelName(" item2" ). next(). find(" span.select2-selection__rendered" ). text(). contains(" value 2" )
60
+ page. findFieldByModelName(" item3" ). next(). find(" li.select2-selection__choice" )* . attr(" title" ) == [" value 1" , " value 3" ]
61
+ page. findFieldByModelName(" item4" ). next(). find(" span.select2-selection__rendered" )* . attr(" title" ) == [" this is a much longer value" , " value 3" ]
62
+ page. findFieldByModelName(" item5" ). next(). find(" span.select2-selection__rendered" )* . attr(" title" ) == [" value 2" , " value 1" ]
63
+ page. findFieldByModelName(" item6" ). next(). find(" li.select2-selection__choice" )* . attr(" title" ) == [" value 3" , " value 1" , " value 2" , " value 3" , " tag" ]
64
+
65
+
66
+ then : " The model hasn't been changed"
67
+ page. model. data. item1 == " value 1"
68
+ page. model. data. item2 == " value 2"
69
+ page. model. data. item3 == [" value 1" , " value 3" ]
70
+ page. model. data. nested[0 ]. item4 == " this is a much longer value"
71
+ page. model. data. nested[0 ]. item5 == " value 2"
72
+ page. model. data. nested[0 ]. item6 == [" value 3" ]
73
+ page. model. data. nested[1 ]. item4 == " value 3"
74
+ page. model. data. nested[1 ]. item5 == " value 1"
75
+ page. model. data. nested[1 ]. item6 == [" value 1" , " value 2" , " value 3" , " tag" ]
25
76
26
77
}
27
78
@@ -36,6 +87,9 @@ class Select2Spec extends GebReportingSpec {
36
87
$(" span[data-bind*=item1" ). text() == " value 1"
37
88
$(" span[data-bind*=item2" ). text() == " value 2"
38
89
$(" span[data-bind*=item3" ). text() == " value 1, value 3"
90
+ $(" span[data-bind*=item4" )* . text() == [" this is a much longer value" , " value 3" ]
91
+ $(" span[data-bind*=item5" )* . text() == [" value 2" , " value 1" ]
92
+ $(" span[data-bind*=item6" )* . text() == [" value 3" , " value 1, value 2, value 3, tag" ]
39
93
40
94
}
41
95
}
0 commit comments