File size: 2,705 Bytes
b2f8af3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /*!
* Matomo - free/libre analytics platform
*
* UsersManager screenshot tests.
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
describe("RateFeature", function () {
var url = "?module=CoreHome&action=index&idSite=1&period=day&date=yesterday#?idSite=1&period=day&date=yesterday&segment=&category=General_Visitors&subcategory=General_Overview";
before(async function() {
await page.webpage.setViewport({
width: 1250,
height: 768
});
});
it('should display the like feature popup', async function () {
await page.goto(url);
await page.waitForNetworkIdle();
const like = await page.$('.like-icon');
await like.evaluate(b => b.click());
var modal = await page.waitForSelector('.modal.open', { visible: true });
await page.waitForTimeout(1000);
expect(await modal.screenshot()).to.matchImage('rate_feature_like_questions');
});
it('should accept like feedback', async function () {
const useful = await page.$('#useful');
await useful.evaluate(b => b.click());
await page.type('#feedbacktext', 'test');
const submit = await page.$('a.modal-action:nth-child(1)');
await submit.click();
await page.waitForNetworkIdle();
var modal = await page.waitForSelector('.modal.open', { visible: true });
expect(await modal.screenshot()).to.matchImage('rate_feature_like_submit');
});
it('should display the dislike feature popup', async function () {
await page.goto(url);
await page.waitForNetworkIdle();
const like = await page.$('.dislike-icon');
await like.evaluate(b => b.click());
var modal = await page.waitForSelector('.modal.open', { visible: true });
await page.waitForTimeout(1000);
expect(await modal.screenshot()).to.matchImage('rate_feature_dislike_questions');
});
it('should accept dislike feedback', async function () {
const useful = await page.$('#missingfeatures');
await useful.evaluate(b => b.click());
await page.type('#feedbacktext', 'test');
const submit = await page.$('a.modal-action:nth-child(1)');
await submit.click();
await page.waitForNetworkIdle();
var modal = await page.waitForSelector('.modal.open', { visible: true });
expect(await modal.screenshot()).to.matchImage('rate_feature_dislike_submit');
});
function delay(interval) {
return it('should delay', done =>
{
setTimeout(() => done(), interval)
}).timeout(interval + 100);
}
});
|