diff --git a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ApiPaneTests/API_Edit_spec.js b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ApiPaneTests/API_Edit_spec.js index 918c4592da..94a026cb44 100644 --- a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ApiPaneTests/API_Edit_spec.js +++ b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ApiPaneTests/API_Edit_spec.js @@ -49,6 +49,9 @@ describe("API Panel Test Functionality", function() { "https://mock-api.appsmith.com/users", ); cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methodWithQueryParam); - cy.ValidateQueryParams({ key: "q", value:"mimeType='application/vnd.google-apps.spreadsheet'" }); + cy.ValidateQueryParams({ + key: "q", + value: "mimeType='application/vnd.google-apps.spreadsheet'", + }); }); }); diff --git a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ProductUpdates/ProductUpdates_spec.js b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ProductUpdates/ProductUpdates_spec.js index 338970ff7b..ef124c354f 100644 --- a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ProductUpdates/ProductUpdates_spec.js +++ b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/ProductUpdates/ProductUpdates_spec.js @@ -10,7 +10,7 @@ describe("Check for product updates button and modal", function() { .its("store") .invoke("getState") .then((state) => { - const { releaseItems, newReleasesCount } = state.ui.releases; + const { newReleasesCount, releaseItems } = state.ui.releases; if (Array.isArray(releaseItems) && releaseItems.length > 0) { cy.get("[data-cy=t--product-updates-btn]") .contains("What's New?") diff --git a/app/client/cypress/manual_TestSuite/List_Widget_Spec.js b/app/client/cypress/manual_TestSuite/List_Widget_Spec.js index 38cd930f04..720bd2ab87 100644 --- a/app/client/cypress/manual_TestSuite/List_Widget_Spec.js +++ b/app/client/cypress/manual_TestSuite/List_Widget_Spec.js @@ -2,104 +2,92 @@ const dsl = require("../../../fixtures/ListWidgetDsl.json"); describe("List Widget test ideas ", function() { it("List widget background colour and deploy ", function() { - // Drag and drop a List widget - // Open Property pane - // Scroll down to Styles - // Add background colour - // Add item background colour - // Ensure the colour are added appropriately - // Click on Deploy and ensure it is deployed appropriately - } - ) + // Drag and drop a List widget + // Open Property pane + // Scroll down to Styles + // Add background colour + // Add item background colour + // Ensure the colour are added appropriately + // Click on Deploy and ensure it is deployed appropriately + }); it("Adding large item Spacing for item card", function() { // Drag and drop a List widget // Open Property pane // Scroll down to Styles // Add large item spacing (>100) - // Ensure the cards get spaced appropriately - } - ) + // Ensure the cards get spaced appropriately + }); - it("Binding an API data to list widget ", function() { - //Add an API + it("Binding an API data to list widget ", function() { + //Add an API // Drag and drop a List widget // Open list Property pane // Bind the API to list widget // Add Input widget into the list widget // Bind the input widgte to the list widget - } - ) + }); - it("Copy Paste and Delete the List Widget ", function() { + it("Copy Paste and Delete the List Widget ", function() { // Drag and drop a List widget // Click on the property pane // Click on Copy the widget // Paste(cmd+v) the list widget // Click on the delete option of the Parent widget - } - ) + }); it("Renaming the widget from Property pane and Entity explorer ", function() { // Drag and drop a List widget // Click on the property pane // Click name of the widget // Rename the widget - // Navigate to the Entity Explorer + // Navigate to the Entity Explorer // Click on the Widget expands // Navigate to List widget (Double Click) - // Rename the widget - // Ensure the name of the widget is possible from both the place - } - ) + // Rename the widget + // Ensure the name of the widget is possible from both the place + }); - it("Verify the Pagination functionlaity within List Widget", function() { - // Drag and Drop list Widget + it("Verify the Pagination functionlaity within List Widget", function() { + // Drag and Drop list Widget // Click on page 2 // Ensure list widget will be redirected to page 2 - // Click on next button + // Click on next button // Ensure the list widget will be redirected to page 3 // Click on Previous button // Ensure the list widget will be redirected to page 2 // Mouse Hover on the next button // Ensure the tool tip message is appropriate - // Mouse Hover on the Previous button + // Mouse Hover on the Previous button // Ensure the tool tip message is appropriate - } - ) + }); - it("Add new item in the list widget array object", function(){ + it("Add new item in the list widget array object", function() { //Drag and drop list widget - //Click to open an property pane + //Click to open an property pane //Expand Genearl section - //Add the following new item + //Add the following new item //("id": 7,"num": 007",name": Charizard",img": "http://www.serebii.net/pokemongo/pokemon/006.png") //Ensure the new item gets added to the list widget without any error - //Check for the new page is added upon adding new items - } - ) + //Check for the new page is added upon adding new items + }); - it("Adding apt widget into the List widget", function(){ - //Drag and Drop List widget - //Expand the section 1 size in the list widget + it("Adding apt widget into the List widget", function() { + //Drag and Drop List widget + //Expand the section 1 size in the list widget //Ensure by exapdning section inside list widget the page size gets increased - //Drag and Drop button widget inside list widget + //Drag and Drop button widget inside list widget //Ensure Button widget can be placed inside list Widget //Drag and Drop Image widget inside list widget //Ensure Image widget can be placed inside list widget // Drag and drop the text widget inside the list widget // Ensure text widget can be place inside the list widget - } - ) + }); - it("Adding unapt widget to identify the error message", function(){ - //Drag and Drop List widget - //Expand the section 1 size in the list widget + it("Adding unapt widget to identify the error message", function() { + //Drag and Drop List widget + //Expand the section 1 size in the list widget //Drag and Drop widgets ie: Chart ,Date Picker radio button etc - // Ensure an understandable error message is displayed to user - } - ) - - - - }) \ No newline at end of file + // Ensure an understandable error message is displayed to user + }); +}); diff --git a/app/client/cypress/manual_TestSuite/Text_Widget_Spec.js b/app/client/cypress/manual_TestSuite/Text_Widget_Spec.js index 1aa118d32a..d180857d68 100644 --- a/app/client/cypress/manual_TestSuite/Text_Widget_Spec.js +++ b/app/client/cypress/manual_TestSuite/Text_Widget_Spec.js @@ -1,117 +1,106 @@ const homePage = require("../../../locators/Textwidget.json"); describe("Test Ideas to test different feature of text widget ", function() { - it("Add New Text widget along with BG and text colour ", function() { - // Navigate to application - // Drag and drop a Text Widget - // Navigate to Property Pane - // Add a text - // Scroll to BG colour and add a colour - // Next add a text colour - // Click on Deploy - } - ) + it("Add New Text widget along with BG and text colour ", function() { + // Navigate to application + // Drag and drop a Text Widget + // Navigate to Property Pane + // Add a text + // Scroll to BG colour and add a colour + // Next add a text colour + // Click on Deploy + }); - it("Enable Scroll feature with text colour ", function() { - // Navigate to application - // Drag and drop a Text Widget - // Add a long text in the "Label" - // Enable scroll option - // Navigate to Text colour and add a colour - // and ensure it is scrolling - // Click on deploy and check if it scrollable and colour selected is visible - } - ) + it("Enable Scroll feature with text colour ", function() { + // Navigate to application + // Drag and drop a Text Widget + // Add a long text in the "Label" + // Enable scroll option + // Navigate to Text colour and add a colour + // and ensure it is scrolling + // Click on deploy and check if it scrollable and colour selected is visible + }); - it("Adding text Size to the Text along with BG colour ", function() { - // Navigate to application - // Drag and drop a Text Widget - // Navigate to Property pane - // Add a medium text in the "Label" - // Increase the area of the Text Widget - // Navigate to BG colour and add a colour - // Naviaget to "Text Size" - // Select Paragarph option - // Ensure the text size varies accordingly - } - ) + it("Adding text Size to the Text along with BG colour ", function() { + // Navigate to application + // Drag and drop a Text Widget + // Navigate to Property pane + // Add a medium text in the "Label" + // Increase the area of the Text Widget + // Navigate to BG colour and add a colour + // Naviaget to "Text Size" + // Select Paragarph option + // Ensure the text size varies accordingly + }); - it("Adding Bold Font style and Centre Text Alignment ", function() { - // Navigate to application - // Drag and drop a Text Widget - // Navigate to Property pane - // Add a medium text in the "Label" - // Increase the area of the Text Widget - // Navigate to Font Style - // Make it Bold - // and Navigate to Alignment and make it centre - // Ensure the changes are visible to user - } - ) + it("Adding Bold Font style and Centre Text Alignment ", function() { + // Navigate to application + // Drag and drop a Text Widget + // Navigate to Property pane + // Add a medium text in the "Label" + // Increase the area of the Text Widget + // Navigate to Font Style + // Make it Bold + // and Navigate to Alignment and make it centre + // Ensure the changes are visible to user + }); - it("Adding Italic Font style and Text Alignment to exsisting text widget ", function() { - // Navigate to already exsisting Text widget - // Ensure the text is added - // Navigate to Property pane - // Navigate to Font Style - // Make it Italic font - // and Navigate to Alignment and make it Right - // Ensure the changes are visible to user - } - ) + it("Adding Italic Font style and Text Alignment to exsisting text widget ", function() { + // Navigate to already exsisting Text widget + // Ensure the text is added + // Navigate to Property pane + // Navigate to Font Style + // Make it Italic font + // and Navigate to Alignment and make it Right + // Ensure the changes are visible to user + }); - it("Expand and Contract text widget Property pane", function() { - // Navigate to already exsisting Text widget - // Navigate to Property pane - // Click on collapse option - // Observe that the property pane is contracted - // Now click again on the arrow - //and ensure it collapses - } - ) + it("Expand and Contract text widget Property pane", function() { + // Navigate to already exsisting Text widget + // Navigate to Property pane + // Click on collapse option + // Observe that the property pane is contracted + // Now click again on the arrow + //and ensure it collapses + }); - it("Copy and paste a text widget", function() { - // Navigate to already exsisting Text widget - // Ensure Clour and font feature exsists - // Copy and paste the widget - // Ensure the new widget retrives the feature exsisting from parent widget - } - ) + it("Copy and paste a text widget", function() { + // Navigate to already exsisting Text widget + // Ensure Clour and font feature exsists + // Copy and paste the widget + // Ensure the new widget retrives the feature exsisting from parent widget + }); - it("Rename and search a text widget", function() { - // Ensure there are multiple Text widget - // Navigate to Entity Explorer - // Search for "Text" keyword - // Click on one of the text widget - // Rename the text widget from the Entity explorer - // Clear the search keyword - // enter the new text widget name - // and observe the user is navigated to same text widget and properties of the widget does not change on renaming - } - ) + it("Rename and search a text widget", function() { + // Ensure there are multiple Text widget + // Navigate to Entity Explorer + // Search for "Text" keyword + // Click on one of the text widget + // Rename the text widget from the Entity explorer + // Clear the search keyword + // enter the new text widget name + // and observe the user is navigated to same text widget and properties of the widget does not change on renaming + }); - it("Search and delete a text widget", function() { - // Ensure there are multiple Text widget - // Navigate to Entity Explorer - // Search for "Text" keyword - // Click on one of the text widget - // Ensure user is navigated to Text widget - // Click on Delete option - // Ensure the Text widget is delete - // Click on Deploy adn ensure the Widget is delete - } - ) + it("Search and delete a text widget", function() { + // Ensure there are multiple Text widget + // Navigate to Entity Explorer + // Search for "Text" keyword + // Click on one of the text widget + // Ensure user is navigated to Text widget + // Click on Delete option + // Ensure the Text widget is delete + // Click on Deploy adn ensure the Widget is delete + }); - it("Search and delete a text widget", function() { - // Ensure there are multiple Text widget - // Navigate to Entity Explorer - // Search for "Text" keyword - // Click on one of the text widget - // Ensure user is navigated to Text widget - // Click on Delete option - // Ensure the Text widget is delete - // Click on Deploy adn ensure the Widget is delete - } - ) -} -) \ No newline at end of file + it("Search and delete a text widget", function() { + // Ensure there are multiple Text widget + // Navigate to Entity Explorer + // Search for "Text" keyword + // Click on one of the text widget + // Ensure user is navigated to Text widget + // Click on Delete option + // Ensure the Text widget is delete + // Click on Deploy adn ensure the Widget is delete + }); +}); diff --git a/app/client/cypress/support/commands.js b/app/client/cypress/support/commands.js index 5b8e20e933..48b6b2af7d 100644 --- a/app/client/cypress/support/commands.js +++ b/app/client/cypress/support/commands.js @@ -2347,8 +2347,12 @@ Cypress.Commands.add("assertPageSave", () => { Cypress.Commands.add("ValidateQueryParams", (param) => { cy.xpath(apiwidget.paramsTab) - .should("be.visible") - .click({ force: true }); - cy.xpath(apiwidget.paramKey).first().contains(param.key); - cy.xpath(apiwidget.paramValue).first().contains(param.value); + .should("be.visible") + .click({ force: true }); + cy.xpath(apiwidget.paramKey) + .first() + .contains(param.key); + cy.xpath(apiwidget.paramValue) + .first() + .contains(param.value); }); diff --git a/app/client/package.json b/app/client/package.json index 347bbb8a6a..9ba6903428 100644 --- a/app/client/package.json +++ b/app/client/package.json @@ -45,6 +45,7 @@ "@uppy/dashboard": "^1.16.0", "@uppy/file-input": "^1.4.22", "@uppy/google-drive": "^1.5.22", + "@uppy/image-editor": "^0.2.4", "@uppy/onedrive": "^1.1.22", "@uppy/react": "^1.11.2", "@uppy/url": "^1.5.16", @@ -62,7 +63,7 @@ "deep-diff": "^1.0.2", "downloadjs": "^1.4.7", "draft-js": "^0.11.7", - "emoji-picker-react": "^3.4.2", + "emoji-mart": "^3.0.1", "eslint": "^7.11.0", "fast-deep-equal": "^3.1.1", "fast-xml-parser": "^3.17.5", @@ -197,6 +198,7 @@ "@types/deep-diff": "^1.0.0", "@types/downloadjs": "^1.4.2", "@types/draft-js": "^0.11.1", + "@types/emoji-mart": "^3.0.4", "@types/jest": "^24.0.22", "@types/marked": "^1.2.2", "@types/react-beautiful-dnd": "^11.0.4", @@ -206,6 +208,7 @@ "@types/react-window": "^1.8.2", "@types/redux-form": "^8.1.9", "@types/redux-mock-store": "^1.0.2", + "@types/resize-observer-browser": "^0.1.5", "@types/styled-system": "^5.1.9", "@types/tern": "0.22.0", "@types/toposort": "^2.0.3", diff --git a/app/client/public/index.html b/app/client/public/index.html index 70250975eb..8079bbba08 100755 --- a/app/client/public/index.html +++ b/app/client/public/index.html @@ -33,6 +33,11 @@
+ +