@@ -2,23 +2,60 @@ import { test, expect } from '@playwright/test';
2
2
3
3
test . describe ( 'Options 27 - Text Template' , ( ) => {
4
4
test ( 'option labels & selected options shows as html' , async ( { page } ) => {
5
+ // ms-select #1
5
6
await page . goto ( '#/options27' ) ;
6
- await page . locator ( '.ms-parent' ) . click ( ) ;
7
- const optionLoc1 = await page . locator ( '.ms-drop ul li' ) . nth ( 0 ) ;
8
- optionLoc1 . click ( ) ;
7
+ await page . locator ( 'div[data-test=select1] .ms-parent' ) . click ( ) ;
8
+ const optionLoc1 = await page . locator ( 'div[data-test=select1] .ms-drop ul li' ) . nth ( 0 ) ;
9
+ await optionLoc1 . click ( ) ;
9
10
await expect ( optionLoc1 . locator ( 'label span' ) ) . toHaveText ( 'January' ) ;
10
11
const spanLoc1 = await optionLoc1 . locator ( 'span' ) . innerHTML ( ) ;
11
12
await expect ( spanLoc1 ) . toBe ( '<i class="fa fa-star"></i>January' ) ;
12
13
13
- const optionLoc4 = await page . locator ( '.ms-drop ul li' ) . nth ( 3 ) ;
14
- optionLoc4 . click ( ) ;
15
- await expect ( optionLoc4 . locator ( 'label span' ) ) . toHaveText ( 'April' ) ;
16
- const spanLoc4 = await optionLoc4 . locator ( 'span' ) . innerHTML ( ) ;
17
- await expect ( spanLoc4 ) . toBe ( '<i class="fa fa-star"></i>April' ) ;
14
+ const ms1OptionLoc4 = await page . locator ( 'div[data-test=select1] .ms-drop ul li' ) . nth ( 3 ) ;
15
+ await ms1OptionLoc4 . click ( ) ;
16
+ await expect ( ms1OptionLoc4 . locator ( 'label span' ) ) . toHaveText ( 'April' ) ;
17
+ const ms1SpanLoc4 = await ms1OptionLoc4 . locator ( 'span' ) . innerHTML ( ) ;
18
+ await expect ( ms1SpanLoc4 ) . toBe ( '<i class="fa fa-star"></i>April' ) ;
18
19
19
20
await page . waitForTimeout ( 90 ) ;
20
- await expect ( page . locator ( '.ms-choice span' ) ) . toHaveText ( 'January, April' ) ;
21
- const parentSpanLoc = await page . locator ( '.ms-parent .ms-choice span' ) . innerHTML ( ) ;
22
- await expect ( parentSpanLoc ) . toBe ( '<i class="fa fa-star"></i>January, <i class="fa fa-star"></i>April' ) ;
21
+ await expect ( page . locator ( 'div[data-test=select1] .ms-choice span' ) ) . toHaveText ( 'January, April' ) ;
22
+ let ms1ParentSpanLoc = await page . locator ( 'div[data-test=select1].ms-parent .ms-choice span' ) . innerHTML ( ) ;
23
+ await expect ( ms1ParentSpanLoc ) . toBe ( '<i class="fa fa-star"></i>January, <i class="fa fa-star"></i>April' ) ;
24
+
25
+ await page . locator ( 'button#disableRenderHtml' ) . click ( ) ;
26
+ ms1ParentSpanLoc = ( await page . locator ( 'div[data-test=select1].ms-parent .ms-choice span' ) . textContent ( ) ) as string ;
27
+ await expect ( ms1ParentSpanLoc ) . toBe ( '<i class="fa fa-star"></i>January, <i class="fa fa-star"></i>April' ) ;
28
+ await page . locator ( 'div[data-test=select1].ms-parent' ) . click ( ) ;
29
+
30
+ // ms-select #2
31
+ await page . locator ( 'div[data-test=select2].ms-parent' ) . click ( ) ;
32
+ const ms2OptionLoc2 = await page . locator ( 'div[data-test=select2] .ms-drop ul li' ) . nth ( 0 ) ;
33
+ await ms2OptionLoc2 . click ( ) ;
34
+ await expect ( ms2OptionLoc2 . locator ( 'label span' ) ) . toHaveText ( '50"' ) ;
35
+ const spanLoc2 = await ms2OptionLoc2 . locator ( 'span' ) . innerHTML ( ) ;
36
+ await expect ( spanLoc2 ) . toBe ( '50"' ) ;
37
+
38
+ const ms2OptionLoc3 = await page . locator ( 'div[data-test=select2] .ms-drop ul li' ) . nth ( 2 ) ;
39
+ await ms2OptionLoc3 . click ( ) ;
40
+ await expect ( ms2OptionLoc3 . locator ( 'label span' ) . nth ( 0 ) ) . toHaveText ( '<span style="font-weight:bold">33</span>' ) ;
41
+ const spanLoc4txt = await ms2OptionLoc3 . locator ( 'span' ) . textContent ( ) ;
42
+ const spanLoc4html = await ms2OptionLoc3 . locator ( 'span' ) . innerHTML ( ) ;
43
+ await expect ( spanLoc4txt ) . toBe ( '<span style="font-weight:bold">33</span>' ) ;
44
+ await expect ( spanLoc4html ) . toBe ( '<span style="font-weight:bold">33</span>' ) ;
45
+
46
+ await page . waitForTimeout ( 90 ) ;
47
+ await expect ( page . locator ( 'div[data-test=select2] .ms-choice span' ) ) . toHaveText (
48
+ '50", <span style="font-weight:bold">33</span>'
49
+ ) ;
50
+ let ms2ParentSpanLocText = await page . locator ( 'div[data-test=select2].ms-parent .ms-choice span' ) . textContent ( ) ;
51
+ let ms2ParentSpanLocHtml = await page . locator ( 'div[data-test=select2].ms-parent .ms-choice span' ) . innerHTML ( ) ;
52
+ await expect ( ms2ParentSpanLocText ) . toBe ( '50", <span style="font-weight:bold">33</span>' ) ;
53
+ await expect ( ms2ParentSpanLocHtml ) . toBe ( '50", <span style="font-weight:bold">33</span>' ) ;
54
+
55
+ await page . locator ( 'button#enableRenderHtml' ) . click ( ) ;
56
+ ms2ParentSpanLocText = await page . locator ( 'div[data-test=select2].ms-parent .ms-choice span' ) . nth ( 0 ) . textContent ( ) ;
57
+ ms2ParentSpanLocHtml = await page . locator ( 'div[data-test=select2].ms-parent .ms-choice span' ) . nth ( 0 ) . innerHTML ( ) ;
58
+ await expect ( ms2ParentSpanLocText ) . toBe ( '50", 33' ) ;
59
+ await expect ( ms2ParentSpanLocHtml ) . toBe ( '50", <span style="font-weight:bold">33</span>' ) ;
23
60
} ) ;
24
61
} ) ;
0 commit comments