From 0b01a183e21258019e7f5d423ed951f26b625d4b Mon Sep 17 00:00:00 2001 From: Dinesh Date: Sun, 23 Aug 2020 20:12:02 +0000 Subject: [PATCH] puppeteer: Migrate realm linkifier test from casper. --- .../casper_tests/17-realm-linkifier.js | 67 ------------------- .../puppeteer_tests/15-realm-linkifier.js | 66 ++++++++++++++++++ 2 files changed, 66 insertions(+), 67 deletions(-) delete mode 100644 frontend_tests/casper_tests/17-realm-linkifier.js create mode 100644 frontend_tests/puppeteer_tests/15-realm-linkifier.js diff --git a/frontend_tests/casper_tests/17-realm-linkifier.js b/frontend_tests/casper_tests/17-realm-linkifier.js deleted file mode 100644 index 2ea74c563f..0000000000 --- a/frontend_tests/casper_tests/17-realm-linkifier.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; - -var common = require("../casper_lib/common.js"); - -common.start_and_log_in(); - -common.manage_organization(); - -// Test custom realm filters -casper.then(function () { - casper.click("li[data-section='filter-settings']"); - casper.waitUntilVisible(".admin-filter-form", function () { - casper.fill("form.admin-filter-form", { - pattern: "#(?P[0-9]+)", - url_format_string: "https://trac.example.com/ticket/%(id)s", - }); - casper.click("form.admin-filter-form button.button"); - }); -}); - -casper.then(function () { - casper.waitUntilVisible("div#admin-filter-status", function () { - casper.test.assertSelectorHasText("div#admin-filter-status", "Custom filter added!"); - }); -}); - -casper.then(function () { - casper.waitUntilVisible(".filter_row", function () { - casper.test.assertSelectorHasText(".filter_row span.filter_pattern", "#(?P[0-9]+)"); - casper.test.assertSelectorHasText( - ".filter_row span.filter_url_format_string", - "https://trac.example.com/ticket/%(id)s" - ); - casper.click(".filter_row button"); - }); -}); - -casper.then(function () { - casper.waitWhileVisible(".filter_row", function () { - casper.test.assertDoesntExist(".filter_row"); - }); -}); - -casper.then(function () { - casper.waitUntilVisible(".admin-filter-form", function () { - casper.fill("form.admin-filter-form", { - pattern: "a$", - url_format_string: "https://trac.example.com/ticket/%(id)s", - }); - casper.click("form.admin-filter-form button.button"); - }); -}); - -casper.then(function () { - casper.waitUntilVisible("div#admin-filter-pattern-status", function () { - casper.test.assertSelectorHasText( - "div#admin-filter-pattern-status", - "Failed: Invalid filter pattern" - ); - }); -}); - -common.then_log_out(); - -casper.run(function () { - casper.test.done(); -}); diff --git a/frontend_tests/puppeteer_tests/15-realm-linkifier.js b/frontend_tests/puppeteer_tests/15-realm-linkifier.js new file mode 100644 index 0000000000..576b8565bd --- /dev/null +++ b/frontend_tests/puppeteer_tests/15-realm-linkifier.js @@ -0,0 +1,66 @@ +"use strict"; + +const assert = require("assert").strict; + +const common = require("../puppeteer_lib/common"); + +async function test_add_linkifier(page) { + await page.waitForSelector(".admin-filter-form", {visible: true}); + await common.fill_form(page, "form.admin-filter-form", { + pattern: "#(?P[0-9]+)", + url_format_string: "https://trac.example.com/ticket/%(id)s", + }); + await page.click("form.admin-filter-form button.button"); + + const admin_filter_status_selector = "div#admin-filter-status"; + await page.waitForSelector(admin_filter_status_selector, {visible: true}); + const admin_filter_status = await common.get_text_from_selector( + page, + admin_filter_status_selector, + ); + assert.strictEqual(admin_filter_status, "Custom filter added!"); + + await page.waitForSelector(".filter_row", {visible: true}); + assert.strictEqual( + await common.get_text_from_selector(page, ".filter_row span.filter_pattern"), + "#(?P[0-9]+)", + ); + assert.strictEqual( + await common.get_text_from_selector(page, ".filter_row span.filter_url_format_string"), + "https://trac.example.com/ticket/%(id)s", + ); +} + +async function test_delete_linkifier(page) { + await page.click(".filter_row button"); + await page.waitForSelector(".filter_row", {hidden: true}); +} + +async function test_invalid_linkifier_pattern(page) { + await page.waitForSelector(".admin-filter-form", {visible: true}); + await common.fill_form(page, "form.admin-filter-form", { + pattern: "a$", + url_format_string: "https://trac.example.com/ticket/%(id)s", + }); + await page.click("form.admin-filter-form button.button"); + + await page.waitForSelector("div#admin-filter-pattern-status", {visible: true}); + assert.strictEqual( + await common.get_text_from_selector(page, "div#admin-filter-pattern-status"), + "Failed: Invalid filter pattern. Valid characters are [ a-zA-Z_#=/:+!-].", + ); +} + +async function realm_linkifier_test(page) { + await common.log_in(page); + await common.manage_organization(page); + await page.click("li[data-section='filter-settings']"); + + await test_add_linkifier(page); + await test_delete_linkifier(page); + await test_invalid_linkifier_pattern(page); + + await common.log_out(page); +} + +common.run_test(realm_linkifier_test);