mirror of
https://github.com/zulip/zulip.git
synced 2025-10-24 00:23:49 +00:00
node_tests: Refactor test_change_save_button_state in settings_org.
This refactors `test_change_save_button_state` function using ES6 syntax, to make it more clean and readable.
This commit is contained in:
committed by
Tim Abbott
parent
507cf1d322
commit
eeeb947187
@@ -167,7 +167,7 @@ function test_realms_domain_modal(add_realm_domain) {
|
|||||||
|
|
||||||
function createSaveButtons(subsection) {
|
function createSaveButtons(subsection) {
|
||||||
const stub_save_button_header = $('.subsection-header');
|
const stub_save_button_header = $('.subsection-header');
|
||||||
const save_btn_controls = $('.save-btn-controls');
|
const save_button_controls = $('.save-btn-controls');
|
||||||
const stub_save_button = $(`#org-submit-${subsection}`);
|
const stub_save_button = $(`#org-submit-${subsection}`);
|
||||||
const stub_discard_button = $(`#org-submit-${subsection}`);
|
const stub_discard_button = $(`#org-submit-${subsection}`);
|
||||||
const stub_save_button_text = $('.icon-button-text');
|
const stub_save_button_text = $('.icon-button-text');
|
||||||
@@ -175,27 +175,27 @@ function createSaveButtons(subsection) {
|
|||||||
'.subsection-failed-status p', $('<failed status element>')
|
'.subsection-failed-status p', $('<failed status element>')
|
||||||
);
|
);
|
||||||
stub_save_button.closest = () => stub_save_button_header;
|
stub_save_button.closest = () => stub_save_button_header;
|
||||||
save_btn_controls.set_find_results(
|
save_button_controls.set_find_results(
|
||||||
'.save-button', stub_save_button
|
'.save-button', stub_save_button
|
||||||
);
|
);
|
||||||
stub_save_button.set_find_results(
|
stub_save_button.set_find_results(
|
||||||
'.icon-button-text', stub_save_button_text
|
'.icon-button-text', stub_save_button_text
|
||||||
);
|
);
|
||||||
stub_save_button_header.set_find_results(
|
stub_save_button_header.set_find_results(
|
||||||
'.save-button-controls', save_btn_controls
|
'.save-button-controls', save_button_controls
|
||||||
);
|
);
|
||||||
stub_save_button_header.set_find_results(
|
stub_save_button_header.set_find_results(
|
||||||
'.subsection-changes-discard .button', $(`#org-discard-${subsection}`)
|
'.subsection-changes-discard .button', $(`#org-discard-${subsection}`)
|
||||||
);
|
);
|
||||||
save_btn_controls.set_find_results(
|
save_button_controls.set_find_results(
|
||||||
'.discard-button', stub_discard_button
|
'.discard-button', stub_discard_button
|
||||||
);
|
);
|
||||||
const props = {};
|
const props = {};
|
||||||
props.hidden = false;
|
props.hidden = false;
|
||||||
save_btn_controls.fadeIn = () => {
|
save_button_controls.fadeIn = () => {
|
||||||
props.hidden = false;
|
props.hidden = false;
|
||||||
};
|
};
|
||||||
save_btn_controls.fadeOut = () => {
|
save_button_controls.fadeOut = () => {
|
||||||
props.hidden = true;
|
props.hidden = true;
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
@@ -203,7 +203,7 @@ function createSaveButtons(subsection) {
|
|||||||
save_button: stub_save_button,
|
save_button: stub_save_button,
|
||||||
discard_button: stub_discard_button,
|
discard_button: stub_discard_button,
|
||||||
save_button_header: stub_save_button_header,
|
save_button_header: stub_save_button_header,
|
||||||
save_button_controls: save_btn_controls,
|
save_button_controls: save_button_controls,
|
||||||
save_button_text: stub_save_button_text,
|
save_button_text: stub_save_button_text,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -276,37 +276,51 @@ function test_submit_settings_form(submit_form) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_change_save_button_state() {
|
function test_change_save_button_state() {
|
||||||
var stubs = createSaveButtons('msg-editing');
|
var {
|
||||||
var $save_btn_controls = stubs.save_button_controls;
|
save_button_controls,
|
||||||
var $save_btn_text = stubs.save_button_text;
|
save_button_text,
|
||||||
var $save_btn = stubs.save_button;
|
save_button,
|
||||||
var $discard_btn = stubs.discard_button;
|
discard_button,
|
||||||
$save_btn.attr("id", "org-submit-msg-editing");
|
props,
|
||||||
var props = stubs.props;
|
} = createSaveButtons('msg-editing');
|
||||||
settings_org.change_save_button_state($save_btn_controls, "unsaved");
|
save_button.attr("id", "org-submit-msg-editing");
|
||||||
assert.equal($save_btn_text.text(), 'translated: Save changes');
|
|
||||||
assert.equal(props.hidden, false);
|
{
|
||||||
assert.equal($save_btn.attr("data-status"), "unsaved");
|
settings_org.change_save_button_state(save_button_controls, "unsaved");
|
||||||
assert.equal($discard_btn.visible(), true);
|
assert.equal(save_button_text.text(), 'translated: Save changes');
|
||||||
settings_org.change_save_button_state($save_btn_controls, "saved");
|
assert.equal(props.hidden, false);
|
||||||
assert.equal($save_btn_text.text(), 'translated: Save changes');
|
assert.equal(save_button.attr("data-status"), "unsaved");
|
||||||
assert.equal(props.hidden, true);
|
assert.equal(discard_button.visible(), true);
|
||||||
assert.equal($save_btn.attr("data-status"), "");
|
}
|
||||||
settings_org.change_save_button_state($save_btn_controls, "saving");
|
{
|
||||||
assert.equal($save_btn_text.text(), 'translated: Saving');
|
settings_org.change_save_button_state(save_button_controls, "saved");
|
||||||
assert.equal($save_btn.attr("data-status"), "saving");
|
assert.equal(save_button_text.text(), 'translated: Save changes');
|
||||||
assert.equal($save_btn.hasClass('saving'), true);
|
assert.equal(props.hidden, true);
|
||||||
assert.equal($discard_btn.visible(), false);
|
assert.equal(save_button.attr("data-status"), "");
|
||||||
settings_org.change_save_button_state($save_btn_controls, "discarded");
|
}
|
||||||
assert.equal(props.hidden, true);
|
{
|
||||||
settings_org.change_save_button_state($save_btn_controls, "succeeded");
|
settings_org.change_save_button_state(save_button_controls, "saving");
|
||||||
assert.equal(props.hidden, true);
|
assert.equal(save_button_text.text(), 'translated: Saving');
|
||||||
assert.equal($save_btn.attr("data-status"), "saved");
|
assert.equal(save_button.attr("data-status"), "saving");
|
||||||
assert.equal($save_btn_text.text(), 'translated: Saved');
|
assert.equal(save_button.hasClass('saving'), true);
|
||||||
settings_org.change_save_button_state($save_btn_controls, "failed");
|
assert.equal(discard_button.visible(), false);
|
||||||
assert.equal(props.hidden, false);
|
}
|
||||||
assert.equal($save_btn.attr("data-status"), "failed");
|
{
|
||||||
assert.equal($save_btn_text.text(), 'translated: Save changes');
|
settings_org.change_save_button_state(save_button_controls, "discarded");
|
||||||
|
assert.equal(props.hidden, true);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
settings_org.change_save_button_state(save_button_controls, "succeeded");
|
||||||
|
assert.equal(props.hidden, true);
|
||||||
|
assert.equal(save_button.attr("data-status"), "saved");
|
||||||
|
assert.equal(save_button_text.text(), 'translated: Saved');
|
||||||
|
}
|
||||||
|
{
|
||||||
|
settings_org.change_save_button_state(save_button_controls, "failed");
|
||||||
|
assert.equal(props.hidden, false);
|
||||||
|
assert.equal(save_button.attr("data-status"), "failed");
|
||||||
|
assert.equal(save_button_text.text(), 'translated: Save changes');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_upload_realm_icon(upload_realm_icon) {
|
function test_upload_realm_icon(upload_realm_icon) {
|
||||||
@@ -626,7 +640,7 @@ function test_discard_changes_button(discard_changes) {
|
|||||||
$('#org-discard-msg-editing').closest = () => discard_button_parent;
|
$('#org-discard-msg-editing').closest = () => discard_button_parent;
|
||||||
|
|
||||||
const stubbed_function = settings_org.change_save_button_state;
|
const stubbed_function = settings_org.change_save_button_state;
|
||||||
settings_org.change_save_button_state = (save_btn_controls, state) => {
|
settings_org.change_save_button_state = (save_button_controls, state) => {
|
||||||
assert.equal(state, "discarded");
|
assert.equal(state, "discarded");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user