|
8 | 8 | */ |
9 | 9 |
|
10 | 10 | describe("SegmentSelectorEditorTest", function () { |
| 11 | + const getSegmentQuery = n => '.segmentList li:nth-of-type(' + (n+1) + ')'; |
| 12 | + const getSegmentStarQuery = n => getSegmentQuery(n) + ' .starSegment'; |
11 | 13 | var selectorsToCapture = ".segmentEditorPanel,.segmentEditorPanel .dropdown-body,.segment-element"; |
12 | 14 | var generalParams = 'idSite=1&period=year&date=2012-08-09'; |
13 | 15 | var url = '?module=CoreHome&action=index&' + generalParams + '#?' + generalParams + '&category=General_Actions&subcategory=General_Pages'; |
@@ -64,30 +66,31 @@ describe("SegmentSelectorEditorTest", function () { |
64 | 66 | }); |
65 | 67 |
|
66 | 68 | it("should star all segments", async function() { |
67 | | - await page.click('.segmentList li:nth-child(2) .starSegment'); |
68 | | - await page.click('.segmentList li:nth-child(3) .starSegment'); |
69 | | - await page.click('.segmentList li:nth-child(4) .starSegment'); |
70 | | - const firstSegment = await page.$('.segmentList li:nth-child(2)'); |
71 | | - expect(firstSegment.className).to.contain('segmentStarred'); |
72 | | - expect(firstSegment.find('.starSegment').attr('data-state')).to.equal(''); |
| 69 | + await page.click(getSegmentStarQuery(1)); |
| 70 | + await page.click(getSegmentStarQuery(2)); |
| 71 | + await page.click(getSegmentStarQuery(3)); |
| 72 | + const firstSegmentClassName = await page.evaluate(() => $('.segmentList li:nth-of-type(2)').attr('class')); |
| 73 | + expect(firstSegmentClassName).to.match(/segmentStarred/); |
| 74 | + const firstSegmentStarState = await page.evaluate(() => $('.segmentList li:nth-of-type(2) .starSegment').attr('data-state') || ''); |
| 75 | + expect(firstSegmentStarState).to.equal(''); |
73 | 76 | expect(await page.screenshotSelector(selectorsToCapture)).to.matchImage('1_selector_starred'); |
74 | 77 | }); |
75 | 78 |
|
76 | 79 | it("should unstar first segment", async function() { |
77 | | - await page.click('.segmentList li:nth-child(2) .starSegment'); |
78 | | - const firstSegment = await page.$('.segmentList li:nth-child(2)'); |
79 | | - expect(firstSegment.className).to.not.contain('segmentStarred'); |
80 | | - expect(firstSegment.find('.starSegment').attr('data-state')).to.equal(''); |
| 80 | + await page.click(getSegmentStarQuery(1)); |
| 81 | + const firstSegmentClassName = await page.evaluate(() => $('.segmentList li:nth-of-type(2)').attr('class')); |
| 82 | + expect(firstSegmentClassName).to.not.match(/segmentStarred/); |
| 83 | + const firstSegmentStarState = await page.evaluate(() => $('.segmentList li:nth-of-type(2) .starSegment').attr('data-state') || ''); |
| 84 | + expect(firstSegmentStarState).to.equal(''); |
81 | 85 | expect(await page.screenshotSelector(selectorsToCapture)).to.matchImage('1b_selector_unstarred'); |
82 | 86 | }); |
83 | 87 |
|
84 | 88 | it("should have disabled star for anonymous users", async function() { |
85 | 89 | await switchToAnonymousUser(); |
86 | 90 | await page.goto(url); |
87 | 91 | await page.click('.segmentationContainer .title'); |
88 | | - const firstSegment = await page.$('.segmentList li:nth-child(2)'); |
89 | | - expect(firstSegment.className).to.contain('segmentStarred'); |
90 | | - expect(firstSegment.find('.starSegment').attr('data-state')).to.equal(''); |
| 92 | + const firstSegmentStarState = await page.evaluate(() => $('.segmentList li:nth-of-type(2) .starSegment').attr('data-state') || ''); |
| 93 | + expect(firstSegmentStarState).to.equal('disabled'); |
91 | 94 | }); |
92 | 95 |
|
93 | 96 | it("should open segment editor when edit link clicked for existing segment", async function() { |
|
0 commit comments