mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 05:23:35 +00:00
casper: Extract 12-custom-profile.
Breaking the Casper tests into smaller tests will make it a lot easier in the future to hone in on test flakes. Having small tests adds little overhead--most of the slowness comes from starting the server. The only extra steps here are logging in and entering "Manage Organization", which is two lines of code. We split out the custom profile test first, since the code for custom profiles has the annoying property that it can only run once before failing, as it has the side effect of creating a field name that can't be reused. We only need to run loops to test flakes, so this isn't an immediate blocker.
This commit is contained in:
@@ -282,56 +282,6 @@ casper.then(function () {
|
||||
});
|
||||
});
|
||||
|
||||
// Test custom profile fields
|
||||
casper.test.info("Testing custom profile fields");
|
||||
casper.thenClick("li[data-section='profile-field-settings']");
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('.admin-profile-field-form', function () {
|
||||
casper.fill('form.admin-profile-field-form', {
|
||||
name: 'Teams',
|
||||
field_type: '1',
|
||||
});
|
||||
casper.click("form.admin-profile-field-form button[type='submit']");
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-add-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-add-profile-field-status', 'Saved');
|
||||
});
|
||||
casper.waitUntilVisible('.profile-field-row span.profile_field_name', function () {
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_name', 'Teams');
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_type', 'Short text');
|
||||
casper.click('.profile-field-row button.open-edit-form');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('tr.profile-field-form form', function () {
|
||||
casper.fill('tr.profile-field-form form.name-setting', {
|
||||
name: 'team',
|
||||
});
|
||||
casper.click('tr.profile-field-form button.submit');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-profile-field-status', 'Saved');
|
||||
});
|
||||
casper.waitForSelectorTextChange('.profile-field-row span.profile_field_name', function () {
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_name', 'team');
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_type', 'Short text');
|
||||
casper.click('.profile-field-row button.delete');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-profile-field-status', 'Saved');
|
||||
});
|
||||
});
|
||||
|
||||
// Test custom realm filters
|
||||
casper.then(function () {
|
||||
casper.click("li[data-section='filter-settings']");
|
||||
|
||||
62
frontend_tests/casper_tests/12-custom-profile.js
Normal file
62
frontend_tests/casper_tests/12-custom-profile.js
Normal file
@@ -0,0 +1,62 @@
|
||||
var common = require('../casper_lib/common.js');
|
||||
|
||||
common.start_and_log_in();
|
||||
|
||||
common.manage_organization();
|
||||
|
||||
// Test custom profile fields
|
||||
casper.test.info("Testing custom profile fields");
|
||||
casper.thenClick("li[data-section='profile-field-settings']");
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('.admin-profile-field-form', function () {
|
||||
casper.fill('form.admin-profile-field-form', {
|
||||
name: 'Teams',
|
||||
field_type: '1',
|
||||
});
|
||||
casper.click("form.admin-profile-field-form button[type='submit']");
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-add-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-add-profile-field-status', 'Saved');
|
||||
});
|
||||
casper.waitUntilVisible('.profile-field-row span.profile_field_name', function () {
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_name', 'Teams');
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_type', 'Short text');
|
||||
casper.click('.profile-field-row button.open-edit-form');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('tr.profile-field-form form', function () {
|
||||
casper.fill('tr.profile-field-form form.name-setting', {
|
||||
name: 'team',
|
||||
});
|
||||
casper.click('tr.profile-field-form button.submit');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-profile-field-status', 'Saved');
|
||||
});
|
||||
casper.waitForSelectorTextChange('.profile-field-row span.profile_field_name', function () {
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_name', 'team');
|
||||
casper.test.assertSelectorHasText('.profile-field-row span.profile_field_type', 'Short text');
|
||||
casper.click('.profile-field-row button.delete');
|
||||
});
|
||||
});
|
||||
|
||||
casper.then(function () {
|
||||
casper.waitUntilVisible('#admin-profile-field-status img', function () {
|
||||
casper.test.assertSelectorHasText('div#admin-profile-field-status', 'Saved');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
common.then_log_out();
|
||||
|
||||
casper.run(function () {
|
||||
casper.test.done();
|
||||
});
|
||||
Reference in New Issue
Block a user