mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
puppeteer: Migrate realm linkifier test from casper.
This commit is contained in:
@@ -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<id>[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<id>[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();
|
||||
});
|
||||
66
frontend_tests/puppeteer_tests/15-realm-linkifier.js
Normal file
66
frontend_tests/puppeteer_tests/15-realm-linkifier.js
Normal file
@@ -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<id>[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<id>[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);
|
||||
Reference in New Issue
Block a user