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(); });