From 2557d15a0c0b8e9ff4f0e75492d283f4589108da Mon Sep 17 00:00:00 2001 From: jumagura Date: Thu, 22 Dec 2022 00:12:29 -0400 Subject: [PATCH] DEV: Add helper values for admin unsuscribed acceptance tests --- ...dmin-wizards-business-subscription-test.js | 2 +- .../admin-wizards-unsuscribed-test.js | 417 +----------------- 2 files changed, 14 insertions(+), 405 deletions(-) diff --git a/test/javascripts/acceptance/admin-wizards-business-subscription-test.js b/test/javascripts/acceptance/admin-wizards-business-subscription-test.js index 0599649d..241f9296 100644 --- a/test/javascripts/acceptance/admin-wizards-business-subscription-test.js +++ b/test/javascripts/acceptance/admin-wizards-business-subscription-test.js @@ -4,7 +4,7 @@ import { visible, } from "discourse/tests/helpers/qunit-helpers"; import { test } from "qunit"; -import { findAll, settled, visit } from "@ember/test-helpers"; +import { findAll, visit } from "@ember/test-helpers"; import selectKit from "discourse/tests/helpers/select-kit-helper"; import { getAdminTestingWizard, diff --git a/test/javascripts/acceptance/admin-wizards-unsuscribed-test.js b/test/javascripts/acceptance/admin-wizards-unsuscribed-test.js index 2646215f..4b3a3514 100644 --- a/test/javascripts/acceptance/admin-wizards-unsuscribed-test.js +++ b/test/javascripts/acceptance/admin-wizards-unsuscribed-test.js @@ -4,8 +4,15 @@ import { visible, } from "discourse/tests/helpers/qunit-helpers"; import { test } from "qunit"; -import { findAll, settled, visit } from "@ember/test-helpers"; +import { findAll, visit } from "@ember/test-helpers"; import selectKit from "discourse/tests/helpers/select-kit-helper"; +import { + getAdminTestingWizard, + getCreatedWizard, + getCustomFields, + getUnsubscribedAdminWizards, + getWizard, +} from "../helpers/admin-wizard"; acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { needs.user(); @@ -16,308 +23,13 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { needs.pretender((server, helper) => { server.get("/admin/wizards/wizard", () => { - return helper.response({ - wizard_list: [ - { id: "this_is_testing_wizard", name: "This is testing wizard" }, - ], - field_types: { - text: { - min_length: null, - max_length: null, - prefill: null, - char_counter: null, - validations: null, - placeholder: null, - }, - textarea: { - min_length: null, - max_length: null, - prefill: null, - char_counter: null, - placeholder: null, - }, - composer: { - min_length: null, - max_length: null, - char_counter: null, - placeholder: null, - }, - text_only: {}, - composer_preview: { preview_template: null }, - date: { format: "YYYY-MM-DD" }, - time: { format: "HH:mm" }, - date_time: { format: "" }, - number: {}, - checkbox: {}, - url: { min_length: null }, - upload: { file_types: ".jpg,.jpeg,.png" }, - dropdown: { prefill: null, content: null }, - tag: { limit: null, prefill: null, content: null, tag_groups: null }, - category: { limit: 1, property: "id", prefill: null, content: null }, - group: { prefill: null, content: null }, - user_selector: {}, - }, - realtime_validations: { - similar_topics: { - types: ["text"], - component: "similar-topics-validator", - backend: true, - required_params: [], - }, - }, - custom_fields: [ - { - id: "external", - klass: "category", - name: "require_topic_approval", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "require_reply_approval", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "num_auto_bump_daily", - type: "integer", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "has_chat_enabled", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "missing uploads", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "missing uploads ignored", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "notice", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "local_dates", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "has_polls", - type: "boolean", - serializers: null, - }, - ], - }); + return helper.response(getWizard); }); server.get("/admin/wizards/custom-fields", () => { - return helper.response({ - custom_fields: [ - { - id: "external", - klass: "category", - name: "require_topic_approval", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "require_reply_approval", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "num_auto_bump_daily", - type: "integer", - serializers: null, - }, - { - id: "external", - klass: "category", - name: "has_chat_enabled", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "missing uploads", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "missing uploads ignored", - type: "boolean", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "notice", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "local_dates", - type: "json", - serializers: null, - }, - { - id: "external", - klass: "post", - name: "has_polls", - type: "boolean", - serializers: null, - }, - ], - }); + return helper.response(getCustomFields); }); server.get("/admin/wizards", () => { - return helper.response({ - subscribed: false, - subscription_type: "none", - subscription_attributes: { - wizard: { - required: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - permitted: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - restart_on_revisit: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - }, - step: { - condition: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - required_data: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - permitted_params: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - }, - field: { - condition: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - type: { - none: [ - "text", - "textarea", - "text_only", - "date", - "time", - "date_time", - "number", - "checkbox", - "dropdown", - "upload", - ], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - realtime_validations: { - none: [], - standard: ["*"], - business: ["*"], - community: ["*"], - }, - }, - action: { - type: { - none: [ - "create_topic", - "update_profile", - "open_composer", - "route_to", - ], - standard: [ - "create_topic", - "update_profile", - "open_composer", - "route_to", - "send_message", - "watch_categories", - "add_to_group", - ], - business: ["*"], - community: ["*"], - }, - }, - custom_field: { - klass: { - none: ["topic", "post"], - standard: ["topic", "post"], - business: ["*"], - community: ["*"], - }, - type: { - none: ["string", "boolean", "integer"], - standard: ["string", "boolean", "integer"], - business: ["*"], - community: ["*"], - }, - }, - api: { - all: { none: [], standard: [], business: ["*"], community: ["*"] }, - }, - }, - subscription_client_installed: false, - }); + return helper.response(getUnsubscribedAdminWizards); }); server.get("/admin/wizards/api", () => { return helper.response({ success: "OK" }); @@ -326,58 +38,7 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { return helper.response({ user_fields: [] }); }); server.get("/admin/wizards/wizard/this_is_testing_wizard", () => { - return helper.response({ - id: "this_is_testing_wizard", - name: "This is testing wizard", - save_submissions: true, - after_time: false, - after_time_scheduled: "2022-12-12T13:45:00.000Z", - prompt_completion: true, - steps: [ - { - id: "step_1", - title: "step 1", - raw_description: "This is a description for step 1 sads", - fields: [ - { - id: "step_1_field_1", - label: "label field", - description: "this is the label description", - type: "textarea", - placeholder: "insert a textarea text here.", - }, - ], - description: "This is a description for step 1 sads", - }, - ], - actions: [ - { - id: "action_1", - run_after: "wizard_completion", - type: "create_topic", - skip_redirect: false, - post: "step_1_field_1", - post_builder: false, - title: [ - { - type: "assignment", - output: "Testing title", - output_type: "text", - output_connector: "set", - pairs: [], - }, - ], - category: [ - { - type: "assignment", - output_type: "category", - output_connector: "set", - output: [30], - }, - ], - }, - ], - }); + return helper.response(getAdminTestingWizard); }); server.put("/admin/wizards/wizard/new_wizard_for_testing", () => { return helper.response({ @@ -386,38 +47,12 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { }); }); server.get("/admin/wizards/wizard/new_wizard_for_testing", () => { - return helper.response({ - id: "new_wizard_for_testing", - name: "new wizard for testing", - save_submissions: true, - steps: [ - { - id: "step_1", - fields: [ - { - id: "step_1_field_1", - type: "text", - validations: { - similar_topics: {}, - }, - }, - ], - }, - ], - actions: [ - { - id: "action_1", - run_after: "wizard_completion", - type: "create_topic", - }, - ], - }); + return helper.response(getCreatedWizard); }); }); test("viewing content for a selected wizard", async (assert) => { await visit("/admin/wizards/wizard"); - await settled(); assert.ok( query(".message-content").innerText.includes( "Select a wizard, or create a new one" @@ -426,18 +61,14 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); const wizards = selectKit(".select-kit"); await wizards.expand(); - await settled(); await wizards.selectRowByValue("this_is_testing_wizard"); - await settled(); assert.ok( query(".message-content").innerText.includes("You're editing a wizard"), "it displays wizard message for a selected wizard" ); await wizards.expand(); - await settled(); const li = find('[data-name="Select a wizard"]'); await click(li); - await settled(); const wizardContainerDiv = find(".admin-wizard-container"); assert.ok( wizardContainerDiv.children().length === 0, @@ -446,9 +77,7 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { }); test("creting a new wizard", async (assert) => { await visit("/admin/wizards/wizard"); - await settled(); await click('button:contains("Create Wizard")'); - await settled(); assert.ok( query(".message-content").innerText.includes( "You're creating a new wizard" @@ -458,7 +87,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { assert.step("Step 1: Inserting a title"); const wizardTitle = "New wizard for testing"; await fillIn(".wizard-header input", wizardTitle); - await settled(); assert.equal( $(".wizard-header input").val(), wizardTitle, @@ -479,13 +107,11 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { assert.step("Step 2: Creating a step section"); const stepAddBtn = find(".step .link-list button:contains('Add')"); await click(stepAddBtn); - await settled(); const stepOneText = "step_1 (step_1)"; const stepOneBtn = find(`.step button:contains(${stepOneText})`); assert.equal(stepOneBtn.length, 1, "Creating a step"); const stepTitle = "step title"; await fillIn(".wizard-custom-step input[name='title']", stepTitle); - await settled(); const stepButtonText = $.trim( $(".step div[data-id='step_1'] button").text() ); @@ -498,11 +124,9 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { 2, "Steps subscription features are not accesible" ); - // add field content assert.step("Step 3: Creating a field section"); const fieldAddBtn = find(".field .link-list button:contains('Add')"); await click(fieldAddBtn); - await settled(); assert.ok( !visible(".wizard-custom-field button.undo-changes"), "clear button is not rendered" @@ -512,7 +136,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { assert.equal(fieldOneBtn.length, 1, "Creating a field"); const fieldTitle = "field title"; await fillIn(".wizard-custom-field input[name='label']", fieldTitle); - await settled(); assert.ok( visible(".wizard-custom-field button.undo-changes"), "clear button is rendered after filling content" @@ -526,7 +149,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); const clearBtn = find(`.wizard-custom-field button.undo-changes`); await click(clearBtn); - await settled(); fieldButtonText = $(".field div[data-id='step_1_field_1'] button") .text() .trim(); @@ -539,24 +161,20 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); await fieldTypeDropdown.expand(); await fieldTypeDropdown.selectRowByValue("text"); - await settled(); assert.ok( query(".wizard-custom-field .message-content").innerText.includes( "You're editing a field" ), "Text tipe for field correctly selected" ); - assert.equal( find(".wizard-subscription-container").length, 3, "Field subscription features are not accesible" ); - // creating action content assert.step("Step 4: Creating a action section"); const actionAddBtn = find(".action .link-list button:contains('Add')"); await click(actionAddBtn); - await settled(); const actionOneText = "action_1 (action_1)"; const actionOneBtn = find(`.action button:contains(${actionOneText})`); assert.equal(actionOneBtn.length, 1, "Creating an action"); @@ -570,7 +188,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ".wizard-custom-action .setting-value .select-kit" ); await actionTypeDropdown.expand(); - await settled(); const listEnabled = findAll( ".wizard-custom-action .setting .setting-value ul li:not(.disabled)" ); @@ -586,7 +203,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { "Enabled items displayed correctly in action dropdown" ); await actionTypeDropdown.selectRowByValue("create_topic"); - await settled(); assert.ok( query(".wizard-custom-action .message-content").innerText.includes( "You're editing an action" @@ -602,7 +218,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); await actionTypeDropdown.expand(); await actionTypeDropdown.selectRowByValue("open_composer"); - await settled(); listTopicSettings = findAll( ".admin-wizard-container .wizard-custom-action .setting" ); @@ -612,7 +227,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); await actionTypeDropdown.expand(); await actionTypeDropdown.selectRowByValue("update_profile"); - await settled(); listTopicSettings = findAll( ".admin-wizard-container .wizard-custom-action .setting" ); @@ -622,7 +236,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); await actionTypeDropdown.expand(); await actionTypeDropdown.selectRowByValue("route_to"); - await settled(); listTopicSettings = findAll( ".admin-wizard-container .wizard-custom-action .setting" ); @@ -631,10 +244,8 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { "Display all settings of route to" ); await actionTypeDropdown.expand(); - await settled(); const li = find('[data-name="Select a type"]'); await click(li); - await settled(); listTopicSettings = findAll( ".admin-wizard-container .wizard-custom-action .setting" ); @@ -644,7 +255,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { ); await actionTypeDropdown.expand(); await actionTypeDropdown.selectRowByValue("create_topic"); - await settled(); assert.step("Step 5: Save changes"); const saveButton = find( '.admin-wizard-buttons button:contains("Save Changes")' @@ -654,7 +264,6 @@ acceptance("Admin | Custom Wizard Unsuscribed", function (needs) { "delete wizard button not displayed" ); await click(saveButton); - await settled(); assert.equal( currentURL(), "/admin/wizards/wizard/new_wizard_for_testing",