mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +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