@@ -2,23 +2,60 @@ import { test, expect } from '@playwright/test';
22
33test . describe ( 'Options 27 - Text Template' , ( ) => {
44 test ( 'option labels & selected options shows as html' , async ( { page } ) => {
5+ // ms-select #1
56 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 ( ) ;
910 await expect ( optionLoc1 . locator ( 'label span' ) ) . toHaveText ( 'January' ) ;
1011 const spanLoc1 = await optionLoc1 . locator ( 'span' ) . innerHTML ( ) ;
1112 await expect ( spanLoc1 ) . toBe ( '<i class="fa fa-star"></i>January' ) ;
1213
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' ) ;
1819
1920 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>' ) ;
2360 } ) ;
2461} ) ;
0 commit comments