ToolJet/cypress-tests/cypress/e2e/happyPath/appbuilder/commonTestcases/components/componentsBasicHappypath.cy.js

648 lines
17 KiB
JavaScript
Raw Normal View History

import { commonWidgetSelector, commonSelectors } from "Selectors/common";
import { fake } from "Fixtures/fake";
import { tableText } from "Texts/table";
import { tableSelector } from "Selectors/table";
import {
verifyComponent,
deleteComponentAndVerify,
verifyComponentWithOutLabel,
} from "Support/utils/basicComponents";
import {
openAccordion,
verifyAndModifyParameter,
openEditorSidebar,
verifyAndModifyToggleFx,
addDefaultEventHandler,
addAndVerifyTooltip,
editAndVerifyWidgetName,
verifyComponentValueFromInspector,
fillBoxShadowParams,
selectColourFromColourPicker,
addTextWidgetToVerifyValue,
verifyBoxShadowCss,
verifyTooltip,
verifyWidgetText,
closeAccordions,
} from "Support/utils/commonWidget";
import {
commonText,
commonWidgetText,
codeMirrorInputLabel,
} from "Texts/common";
Query manager revamp (#6680) * global store init * Moved query data to new component * Removed unwanted code * Removed data queries prop drilling * Moved query state out of editor * Added unsafe to componentWillReceiveProps * Selected first query when the version is changed * Fixed bug on renaming query * Fixed issue on dark theme * Fixed running query on page load in viewer * Query manager refactor init * Added global data source in store * Disabled devtools on production * Fixed bug on selecting query after deletion * Reset store when editor is loaded * Moved query manager to functional component * Fixed conflict issues * Fixed infinite loop on tooljetDB * Set the store name and updated devtools logic * Fixed issue on displaying draft query from data sources * Updated comments on the store * Fixed bug on changing data source and creating query from data source * Fixed bug on showing unsaved changes popup * Fixed issue on showing confirmation modal everytime without any changes * feat: autosave data query functionality * feat: show publish button only when the status in draft state * Fixed issues on query renaming * feat: removed discard popup for data query create/edit widget * stye: reduced autosave api call timeout and added draft tag * feat: added minor style changes * feat: fixed issues with restapi plugin, removed unused api calls * fix: fixed issue that breaks restapi creation * fix: reload selected query details after update query * perf: reduced debounce time for data query update apis * feat: removed full reloading of query list on query renaming * feat: duplicate data query feature added * Fixed issue on creating restAPI query * fix: fixed issue in transforming response from update queyr api * fix: refresh selected query details when the selected query is updated * fix: rename query on click enter * fix: full refresh of query list on update * fix: style changes * fix: subscribing to state to autsave * feat: updated the query manager styles to new design * feat: revamped the querypane header buttons * fix: fixed the padding for query panel maximize button * feat: updated search box style * refactor: moved function to render data source icon to its own component * fix: fixed querymanager widget breaking issue * merged with feat/query-manager-autosave * refactor: removed unused consoles * refactor: removed unused consoles * refactor: removed unused consoles * fix: removed commented code * fix: removed unused code * refactor: removed unused comments * fix: show change datasource select only if valid ds available * Update frontend/src/Editor/Inspector/EventManager.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/DataSourceLister.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/DataSourceLister.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/QueryManagerBody.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * feat: modify behaviour of search icon in query panel * fix: fixed theme color mismatch in query manager * refactor: remove dead code * refactor: updated theme for data source listner * fix: theming in filter and sort popup * refactor: remove unused variables * fix: removed draftQuery logic from query manager * refactor: removed unused varibales * Update frontend/src/Editor/QueryManager/QueryEditors/Restapi/TabParams.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryPanel/QueryCard.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * feat: diable preview for draft queries * fix: added tooltip for query panel button * fix: fixed issues in saving query manager events * fix: moved query save subscriber to QuerPanel component * feat: converted query run api to save and run * fix: made varibale an optional param in updateDataQuery dto * refactor: cleanup update dataquery status api response * refactor: moved query status to constants file * feat: prompt for queryname when creating new query * fix: store new queryname in state on create query pageload * fix: fixed alignment of Tooljet db component form * fix: correct translation and format file * refactor: removed consoles * merge: merge appbuilder-1.2 * style: updated rename input/button UX * style: revamped dataquery create widget styles * style: revamped data source selector styles * fix: removed code added for debugging * style: updated data query filter design * style: Add prop to control visibility of clear button in search box * style: implement new style for query filter * merge appbuilder-1.2 to feat/query-manager-sort-filter * refactor: remove unintended file change * fix: set default value for method in respapi * style: updated copilot info popup style * style: updated quer panel header icons * style: updated button styles * style: fixed query manager button styles * style: smoothened query preview modal view * fix: correct import for some funs * fix: fixed minor UX bugs * style: fixed styling of REST api GDS * style: fixed styleing of sort and filter popup * style: improved data queries sort filter UI/UX * fix: remove click listner when overlay is closed * fix: moved component declaration out of parent component * fix: set selected datasource for default sources * fix: filter DS based on saerch in create dropdown * fix: restrict draft query running to preview mode * fix: query renamed on input change in create screen * fix: set name to state as soon as user renames query * fix: make query notification message consistent * style: correct s3 bucket plugin layout config * fix: fixed issues with cloning of Static DS queries * fix: made change so that newly created query is reflected immediatly * style: updated spacing for query manager components * fix: hide rename input when no query selected * fix: check bothe selected query and DS before rendering query manager * fix: set isSaving to true only for api calls in querymanager * fix: added success message form in qm * fix: filter out draft queries from viewer on running * fix: fixed inconsistent gutter for runpy and runjs editors * fix: reload dataqueris on LDS deletion * fix: redesigned filter/sort popup * fix: fixed issue that resets filter on search * fix: fixed query manager breaking on plugin select * fix: diable json preview for text output * fix: reset to filter and sort main menu on close filter popup * refactor: rename varibales * stye: redesigned query create panel * feat: revert data query status column from backend * style: redesign query picker section * refactor: removed dead code * style: querypanel expand/collapse btn style * style: add query select and query filter popup style redesign * style: updated filter popup style * feat: removed draft query checks everywhere * style: empty dataqueries style changed * style: updated query selector popup and rest options styles * style: removed 100% height to query option remove btn * feat: added the query runnable status check * style: updated query manager footer style * feat: changed DS filter from kind to DS ID * style: minor ui tweaks in filter popup * style: disable DS filter if no DQs created * style: minor ui change * fix: rerender filter popup post DS api call. fixed rest api copy feature * fix: add local DS to filter popup * refactor: removed dead code/comments * add new row is crashing when no data is fed to table (#7102) * fix: fixed condition that blocked GDS run on load * fix: revert name back to og name if update fails in rename query * feat: added tooltip for show query btn * fix: added click interaction for pill btn as well * fix: minor UI tweaks to make UX better * style: fixed the styling of filter popup * style: minor UI tweaks in query filter popup * fix: fixed minor css issue in ds picker * style: wrap overflowing text in queryname * fix: update updated_at after query update api call success * fix: update remove the caller query from event query dropdown * style: minor ui spacing tweaks * fix: fix issue that cuased app crash when tjdb opened * fix: fixed update row styles * fix: fixed info popup dark theme bg * fix: fixed headers styling according to general QM styles * style: fixed stripe QM UI * fix: added tooltip for quernames * feat: add tooltip for select ds options * added consoles to debug debugger issue * fix: fixed :active style of ds select dropdown in QM * fix: fixed DS kind name in data source selector in QM * fix: fixed border color mismatch for ds select dd * fix: change tooltip msg for maximize/minize QM * Fix automation for query manager revamp. (#7223) * Add data-cy to support modified specs * Fix event handler * Fix RunPy and RunJS specs * Fix event handler label * Fix basic components spec * Fix basic components failure * Fix tabel spec failure. * Fix runjs and runpy actions * Fix table column options * Add data-cy * version: version updated to 2.13.0 * Version bump --------- Co-authored-by: Kavin Venkatachalam <[email protected]> Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> Co-authored-by: Manish Kushare <37823141+[email protected]> Co-authored-by: Midhun Kumar E <[email protected]>
2023-08-09 12:31:48 +00:00
import { resizeQueryPanel } from "Support/utils/dataSource";
describe("Basic components", () => {
const data = {};
beforeEach(() => {
data.appName = `${fake.companyName}-${fake.companyName}-App`;
cy.apiLogin();
2023-11-03 12:52:49 +00:00
cy.apiCreateApp(data.appName);
cy.openApp();
2023-12-18 04:13:16 +00:00
cy.modifyCanvasSize(1200, 900);
cy.intercept("GET", "/api/comments/*").as("loadComments");
2023-12-12 12:18:01 +00:00
resizeQueryPanel(0);
});
afterEach(() => {
cy.apiDeleteApp();
});
it("Should verify Toggle switch", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Toggle Switch", 300, 300);
verifyComponent("toggleswitch1");
cy.resizeWidget("toggleswitch1", 650, 400, false);
openEditorSidebar("toggleswitch1");
editAndVerifyWidgetName("toggleswitch2");
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.get(
'[data-cy="draggable-widget-toggleswitch2"] > .form-check-label'
).should("have.text", "label");
cy.openInCurrentTab(commonWidgetSelector.previewButton);
2023-12-18 04:13:16 +00:00
cy.wait(1500);
verifyComponent("toggleswitch2");
cy.get(
'[data-cy="draggable-widget-toggleswitch2"] > .form-check-label'
).should("have.text", "label");
cy.go("back");
cy.waitForAppLoad();
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("toggleswitch2");
});
it("Should verify Checkbox", () => {
resizeQueryPanel("0");
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Checkbox", 300, 300);
// cy.resizeWidget("checkbox1", 50, 200,false);
cy.forceClickOnCanvas();
verifyComponent("checkbox1");
openEditorSidebar("checkbox1");
editAndVerifyWidgetName("checkbox2");
cy.resizeWidget("checkbox2", 650, 400, false);
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.get('[data-cy="draggable-widget-checkbox2"] .form-check-label').should(
"have.text",
"label"
);
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("checkbox2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("checkbox2");
});
it("Should verify Radio Button", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Radio Button", 300, 300);
// cy.resizeWidget("radiobutton1", 100, 200,false);
cy.forceClickOnCanvas();
verifyComponent("radiobutton1");
cy.resizeWidget("radiobutton1", 650, 400, false);
openEditorSidebar("radiobutton1");
editAndVerifyWidgetName("radiobutton2");
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.get('[data-cy="draggable-widget-radiobutton2"] > .col-auto').should(
"have.text",
"label"
);
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("radiobutton2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("radiobutton2");
});
it("Should verify Dropdown", () => {
resizeQueryPanel("0");
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Dropdown", 300, 300);
cy.resizeWidget("dropdown1", 400, 500, false);
cy.forceClickOnCanvas();
verifyComponent("dropdown1");
openEditorSidebar("dropdown1");
editAndVerifyWidgetName("dropdown2");
cy.resizeWidget("dropdown2", 650, 400, false);
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.get('[data-cy="draggable-widget-dropdown2"] > .col-auto').should(
"have.text",
"label"
);
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("dropdown2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("dropdown2");
});
//pending
it("Should verify Rating", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Rating", 300, 300);
cy.get('[data-cy="draggable-widget-starrating1"]').click({ force: true });
cy.resizeWidget("starrating1", 400, 500, false);
cy.forceClickOnCanvas();
verifyComponent("starrating1");
openEditorSidebar("starrating1");
editAndVerifyWidgetName("starrating2");
cy.resizeWidget("starrating2", 650, 400, false);
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.get('[data-cy="draggable-widget-starrating2"] > .col-auto').should(
"have.text",
"label"
);
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("starrating2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("starrating2");
});
it("Should verify Button Group", () => {
cy.dragAndDropWidget("Button Group", 300, 300);
cy.forceClickOnCanvas();
verifyComponent("buttongroup1");
cy.resizeWidget("buttongroup1", 650, 400, false);
openEditorSidebar("buttongroup1");
editAndVerifyWidgetName("buttongroup2");
verifyAndModifyParameter(commonWidgetText.parameterLabel, "label");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.get(
'[data-cy="draggable-widget-buttongroup2"] > .widget-buttongroup-label'
).should("have.text", "label");
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("buttongroup2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("buttongroup2");
});
it("Should verify Calendar", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Calendar", 300, 300);
cy.get('[data-cy="draggable-widget-calendar1"]').click({ force: true });
cy.forceClickOnCanvas();
verifyComponent("calendar1");
cy.resizeWidget("calendar1", 650, 400, false);
openEditorSidebar("calendar1");
editAndVerifyWidgetName("calendar2");
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("calendar2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("calendar2");
});
it("Should verify Chart", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Chart", 300, 300);
cy.get('[data-cy="draggable-widget-chart1"]').click({ force: true });
verifyComponent("chart1");
openEditorSidebar("chart1");
editAndVerifyWidgetName("chart2", ["Chart data", "Properties"]);
// cy.resizeWidget("chart1", 650, 400, false);
verifyAndModifyParameter("Title", "label");
cy.forceClickOnCanvas();
cy.resizeWidget("chart2", 650, 400, false);
cy.get('[data-cy="draggable-widget-chart2"]').should(
"contain.text",
"label"
);
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("chart2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("chart2");
});
it("Should verify Circular Progress Bar", () => {
cy.dragAndDropWidget("Circular Progressbar", 300, 300);
cy.forceClickOnCanvas();
verifyComponent("circularprogressbar1");
cy.resizeWidget("circularprogressbar1", 650, 400, false);
openEditorSidebar("circularprogressbar1");
editAndVerifyWidgetName("circularprogressbar2");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("circularprogressbar2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("circularprogressbar2");
});
it("Should verify Code Editor", () => {
cy.dragAndDropWidget("Code Editor", 300, 300);
cy.get('[data-cy="draggable-widget-codeeditor1"]').click({ force: true });
cy.forceClickOnCanvas();
verifyComponent("codeeditor1");
cy.resizeWidget("codeeditor1", 650, 400, false);
openEditorSidebar("codeeditor1");
editAndVerifyWidgetName("codeeditor2");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("codeeditor2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("codeeditor2");
});
it("Should verify Color Picker", () => {
cy.dragAndDropWidget("Color Picker", 300, 300);
cy.get('[data-cy="draggable-widget-colorpicker1"]').click({ force: true });
cy.forceClickOnCanvas();
verifyComponent("colorpicker1");
cy.resizeWidget("colorpicker1", 650, 400, false);
openEditorSidebar("colorpicker1");
editAndVerifyWidgetName("colorpicker2");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("colorpicker2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("colorpicker2");
});
it("Should verify Custom Component", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Custom Component", 300, 300);
// cy.get('[data-cy="draggable-widget-customcomponent1"]').click({
// force: true,
// });
// cy.forceClickOnCanvas();
verifyComponent("customcomponent1");
openEditorSidebar("customcomponent1");
// editAndVerifyWidgetName("customcomponent2", ["Code"]);
closeAccordions(["Code"]);
cy.get(commonWidgetSelector.WidgetNameInputField).type(
"{selectAll}{backspace}customcomponent2",
{ delay: 30 }
);
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.resizeWidget("customcomponent2", 650, 400, false);
cy.wait(2000);
cy.get(
commonWidgetSelector.draggableWidget("customcomponent2")
).realHover();
cy.get(commonWidgetSelector.widgetConfigHandle("customcomponent2"))
.click()
.should("have.text", "customcomponent2");
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("customcomponent2", ["Code"]);
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("customcomponent2");
});
it("Should verify Container", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Container", 300, 300);
cy.forceClickOnCanvas();
verifyComponent("container1");
openEditorSidebar("container1");
2024-02-15 03:36:50 +00:00
editAndVerifyWidgetName("container2", ["Devices"]);
cy.forceClickOnCanvas();
cy.resizeWidget("container2", 650, 400, false);
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
2024-02-15 03:36:50 +00:00
verifyComponent("container2", ["Devices"]);
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("container2");
});
it("Should verify Date-Range Picker", () => {
cy.dragAndDropWidget("Range Picker", 300, 300);
cy.forceClickOnCanvas();
verifyComponent("daterangepicker1");
cy.resizeWidget("daterangepicker1", 650, 400, false);
openEditorSidebar("daterangepicker1");
editAndVerifyWidgetName("daterangepicker2");
cy.forceClickOnCanvas();
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("daterangepicker2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("daterangepicker2");
});
// visible issue
it.skip("Should verify Divider", () => {
verifyComponentWithOutLabel(
"Divider",
"divider1",
"divider2",
data.appName
);
});
it("Should verify File Picker", () => {
verifyComponentWithOutLabel(
"File Picker",
"filepicker1",
"filepicker2",
data.appName
);
});
it("Should verify Form", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Form", 300, 300);
verifyComponent("form1");
cy.resizeWidget("form1", 650, 400, false);
openEditorSidebar("form1");
editAndVerifyWidgetName("form2", []);
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("form2");
cy.go("back");
2023-12-18 04:13:16 +00:00
cy.waitForAppLoad();
cy.wait(1500);
2023-12-12 12:18:01 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("form2");
});
it("Should verify HTML", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("HTML Viewe", 300, 300, "HTML Viewer"); // search logic WIP
verifyComponent("html1");
cy.resizeWidget("html1", 650, 400, false);
openEditorSidebar("html1");
editAndVerifyWidgetName("html2");
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("html2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("html2");
});
it("Should verify Icon", () => {
verifyComponentWithOutLabel("Icon", "icon1", "icon2", data.appName);
});
it("Should verify Iframe", () => {
verifyComponentWithOutLabel("Iframe", "iframe1", "iframe2", data.appName);
});
it.skip("Should verify Kanban", () => {
verifyComponentWithOutLabel("Kanban", "kanban1", "kanban2", data.appName);
});
it("Should verify Link", () => {
verifyComponentWithOutLabel("Link", "link1", "link2", data.appName);
});
2024-01-23 12:35:33 +00:00
it.skip("Should verify Map", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Map", 300, 300);
cy.get("body").then(($body) => {
if ($body.find(".dismissButton").length > 0) {
cy.get(".dismissButton").click();
}
});
verifyComponent("map1");
cy.resizeWidget("map1", 650, 400, false);
openEditorSidebar("map1");
editAndVerifyWidgetName("map2");
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("map2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("map2");
});
it("Should verify Modal", () => {
verifyComponentWithOutLabel("Modal", "modal1", "modal2", data.appName);
});
it("Should verify PDF", () => {
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("PDF", 300, 300);
verifyComponent("pdf1");
cy.resizeWidget("pdf1", 650, 400, false);
openEditorSidebar("pdf1");
editAndVerifyWidgetName("pdf2");
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("pdf2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("pdf2");
});
it("Should verify Pagination", () => {
verifyComponentWithOutLabel(
"Pagination",
"pagination1",
"pagination2",
data.appName
);
});
it("Should verify QR Scanner", () => {
verifyComponentWithOutLabel(
"QR Scanner",
"qrscanner1",
"qrscanner2",
data.appName
);
});
it("Should verify Range Slider", () => {
verifyComponentWithOutLabel(
"Range Slider",
"rangeslider1",
"rangeslider2",
data.appName
);
});
it("Should verify Rich Text Editor", () => {
verifyComponentWithOutLabel(
"Text Editor",
"richtexteditor1",
"richtexteditor2",
data.appName
);
});
it("Should verify Spinner", () => {
verifyComponentWithOutLabel(
"Spinner",
"spinner1",
"spinner2",
data.appName
);
});
it("Should verify Statistics", () => {
verifyComponentWithOutLabel(
"Statistics",
"statistics1",
"statistics2",
data.appName
);
});
it("Should verify Steps", () => {
verifyComponentWithOutLabel("Steps", "steps1", "steps2", data.appName);
});
it("Should verify SVG Image", () => {
verifyComponentWithOutLabel(
"SVG Image",
"svgimage1",
"svgimage2",
data.appName
);
});
it("Should verify Tabs", () => {
Query manager revamp (#6680) * global store init * Moved query data to new component * Removed unwanted code * Removed data queries prop drilling * Moved query state out of editor * Added unsafe to componentWillReceiveProps * Selected first query when the version is changed * Fixed bug on renaming query * Fixed issue on dark theme * Fixed running query on page load in viewer * Query manager refactor init * Added global data source in store * Disabled devtools on production * Fixed bug on selecting query after deletion * Reset store when editor is loaded * Moved query manager to functional component * Fixed conflict issues * Fixed infinite loop on tooljetDB * Set the store name and updated devtools logic * Fixed issue on displaying draft query from data sources * Updated comments on the store * Fixed bug on changing data source and creating query from data source * Fixed bug on showing unsaved changes popup * Fixed issue on showing confirmation modal everytime without any changes * feat: autosave data query functionality * feat: show publish button only when the status in draft state * Fixed issues on query renaming * feat: removed discard popup for data query create/edit widget * stye: reduced autosave api call timeout and added draft tag * feat: added minor style changes * feat: fixed issues with restapi plugin, removed unused api calls * fix: fixed issue that breaks restapi creation * fix: reload selected query details after update query * perf: reduced debounce time for data query update apis * feat: removed full reloading of query list on query renaming * feat: duplicate data query feature added * Fixed issue on creating restAPI query * fix: fixed issue in transforming response from update queyr api * fix: refresh selected query details when the selected query is updated * fix: rename query on click enter * fix: full refresh of query list on update * fix: style changes * fix: subscribing to state to autsave * feat: updated the query manager styles to new design * feat: revamped the querypane header buttons * fix: fixed the padding for query panel maximize button * feat: updated search box style * refactor: moved function to render data source icon to its own component * fix: fixed querymanager widget breaking issue * merged with feat/query-manager-autosave * refactor: removed unused consoles * refactor: removed unused consoles * refactor: removed unused consoles * fix: removed commented code * fix: removed unused code * refactor: removed unused comments * fix: show change datasource select only if valid ds available * Update frontend/src/Editor/Inspector/EventManager.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/DataSourceLister.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/DataSourceLister.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryManager/Components/QueryManagerBody.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * feat: modify behaviour of search icon in query panel * fix: fixed theme color mismatch in query manager * refactor: remove dead code * refactor: updated theme for data source listner * fix: theming in filter and sort popup * refactor: remove unused variables * fix: removed draftQuery logic from query manager * refactor: removed unused varibales * Update frontend/src/Editor/QueryManager/QueryEditors/Restapi/TabParams.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * Update frontend/src/Editor/QueryPanel/QueryCard.jsx Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> * feat: diable preview for draft queries * fix: added tooltip for query panel button * fix: fixed issues in saving query manager events * fix: moved query save subscriber to QuerPanel component * feat: converted query run api to save and run * fix: made varibale an optional param in updateDataQuery dto * refactor: cleanup update dataquery status api response * refactor: moved query status to constants file * feat: prompt for queryname when creating new query * fix: store new queryname in state on create query pageload * fix: fixed alignment of Tooljet db component form * fix: correct translation and format file * refactor: removed consoles * merge: merge appbuilder-1.2 * style: updated rename input/button UX * style: revamped dataquery create widget styles * style: revamped data source selector styles * fix: removed code added for debugging * style: updated data query filter design * style: Add prop to control visibility of clear button in search box * style: implement new style for query filter * merge appbuilder-1.2 to feat/query-manager-sort-filter * refactor: remove unintended file change * fix: set default value for method in respapi * style: updated copilot info popup style * style: updated quer panel header icons * style: updated button styles * style: fixed query manager button styles * style: smoothened query preview modal view * fix: correct import for some funs * fix: fixed minor UX bugs * style: fixed styling of REST api GDS * style: fixed styleing of sort and filter popup * style: improved data queries sort filter UI/UX * fix: remove click listner when overlay is closed * fix: moved component declaration out of parent component * fix: set selected datasource for default sources * fix: filter DS based on saerch in create dropdown * fix: restrict draft query running to preview mode * fix: query renamed on input change in create screen * fix: set name to state as soon as user renames query * fix: make query notification message consistent * style: correct s3 bucket plugin layout config * fix: fixed issues with cloning of Static DS queries * fix: made change so that newly created query is reflected immediatly * style: updated spacing for query manager components * fix: hide rename input when no query selected * fix: check bothe selected query and DS before rendering query manager * fix: set isSaving to true only for api calls in querymanager * fix: added success message form in qm * fix: filter out draft queries from viewer on running * fix: fixed inconsistent gutter for runpy and runjs editors * fix: reload dataqueris on LDS deletion * fix: redesigned filter/sort popup * fix: fixed issue that resets filter on search * fix: fixed query manager breaking on plugin select * fix: diable json preview for text output * fix: reset to filter and sort main menu on close filter popup * refactor: rename varibales * stye: redesigned query create panel * feat: revert data query status column from backend * style: redesign query picker section * refactor: removed dead code * style: querypanel expand/collapse btn style * style: add query select and query filter popup style redesign * style: updated filter popup style * feat: removed draft query checks everywhere * style: empty dataqueries style changed * style: updated query selector popup and rest options styles * style: removed 100% height to query option remove btn * feat: added the query runnable status check * style: updated query manager footer style * feat: changed DS filter from kind to DS ID * style: minor ui tweaks in filter popup * style: disable DS filter if no DQs created * style: minor ui change * fix: rerender filter popup post DS api call. fixed rest api copy feature * fix: add local DS to filter popup * refactor: removed dead code/comments * add new row is crashing when no data is fed to table (#7102) * fix: fixed condition that blocked GDS run on load * fix: revert name back to og name if update fails in rename query * feat: added tooltip for show query btn * fix: added click interaction for pill btn as well * fix: minor UI tweaks to make UX better * style: fixed the styling of filter popup * style: minor UI tweaks in query filter popup * fix: fixed minor css issue in ds picker * style: wrap overflowing text in queryname * fix: update updated_at after query update api call success * fix: update remove the caller query from event query dropdown * style: minor ui spacing tweaks * fix: fix issue that cuased app crash when tjdb opened * fix: fixed update row styles * fix: fixed info popup dark theme bg * fix: fixed headers styling according to general QM styles * style: fixed stripe QM UI * fix: added tooltip for quernames * feat: add tooltip for select ds options * added consoles to debug debugger issue * fix: fixed :active style of ds select dropdown in QM * fix: fixed DS kind name in data source selector in QM * fix: fixed border color mismatch for ds select dd * fix: change tooltip msg for maximize/minize QM * Fix automation for query manager revamp. (#7223) * Add data-cy to support modified specs * Fix event handler * Fix RunPy and RunJS specs * Fix event handler label * Fix basic components spec * Fix basic components failure * Fix tabel spec failure. * Fix runjs and runpy actions * Fix table column options * Add data-cy * version: version updated to 2.13.0 * Version bump --------- Co-authored-by: Kavin Venkatachalam <[email protected]> Co-authored-by: Kavin Venkatachalam <50441969+[email protected]> Co-authored-by: Manish Kushare <37823141+[email protected]> Co-authored-by: Midhun Kumar E <[email protected]>
2023-08-09 12:31:48 +00:00
resizeQueryPanel("0");
2023-12-18 04:13:16 +00:00
cy.dragAndDropWidget("Tabs", 300, 300);
verifyComponent("tabs1");
2023-12-18 04:13:16 +00:00
// deleteComponentAndVerify("image1");
cy.resizeWidget("tabs1", 650, 400, false);
openEditorSidebar("tabs1");
editAndVerifyWidgetName("tabs2");
cy.waitForAutoSave();
cy.openInCurrentTab(commonWidgetSelector.previewButton);
verifyComponent("tabs2");
cy.go("back");
2023-12-18 04:13:16 +00:00
resizeQueryPanel(0);
deleteComponentAndVerify("tabs2");
});
it("Should verify Tags", () => {
verifyComponentWithOutLabel("Tags", "tags1", "tags2", data.appName);
});
2023-11-03 12:52:49 +00:00
it("Should verify Text area", () => {
verifyComponentWithOutLabel(
2023-11-03 12:52:49 +00:00
"Text area",
"textarea1",
"textarea2",
data.appName
);
});
it("Should verify Timeline", () => {
verifyComponentWithOutLabel(
"Timeline",
"timeline1",
"timeline2",
data.appName
);
});
it("Should verify Timer", () => {
verifyComponentWithOutLabel("Timer", "timer1", "timer2", data.appName);
});
it("Should verify Tree Select", () => {
verifyComponentWithOutLabel(
"Tree Select",
"treeselect1",
"treeselect2",
data.appName
);
});
it("Should verify Vertical Divider", () => {
verifyComponentWithOutLabel(
"Vertical Divider",
"verticaldivider1",
"verticaldivider2",
data.appName
);
});
});