-
Notifications
You must be signed in to change notification settings - Fork 4.2k
fix: JSobject test fixed after generate crud issue fixes #40954
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe test "8. Verify Queries" in the JSObject_Tests_spec.ts file was reactivated and updated. The test now explicitly selects entities and tables by name, generates a page from the datasource card, updates network waits, changes the query selected for editing, and asserts against a fixed expected SQL string. Changes
Sequence Diagram(s)sequenceDiagram
participant TestRunner
participant AppUI
participant EditorNavigation
participant DatasourceCard
TestRunner->>AppUI: Create Postgres datasource
TestRunner->>AppUI: Create query
TestRunner->>EditorNavigation: Select datasource entity by name
TestRunner->>AppUI: Select "public.users" table
TestRunner->>DatasourceCard: Generate page from datasource
TestRunner->>AppUI: Wait for network/UI updates
TestRunner->>AppUI: Wait for table to load
TestRunner->>EditorNavigation: Select "DeleteQuery" entity
TestRunner->>AppUI: Assert evaluated query text equals expected SQL string
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
app/client/cypress/e2e/Regression/ClientSide/JSObject/JSObject_Tests_spec.ts (1)
267-273
: Streamline evaluated-value assertion & avoid DOM jugglingThe current pattern fetches CodeMirror DOM, flattens text, and then pulls the evaluated value in a second query. This adds fragile DOM-coupling and extra
then
nesting.-cy.get(`${locators._codeMirrorCode} pre`).then(($elements) => { - const text = [...$elements].map((el) => el.innerText).join(""); - agHelper.GetText(locators._evaluatedValue).then((evalText: any) => { - expect(evalText.replace(/\n/g, "")).to.eq( - 'DELETE FROM public."users" WHERE "id" = $1;', - ); - }); -}); +agHelper + .GetText(locators._evaluatedValue) + .should("equal", 'DELETE FROM public."users" WHERE "id" = $1;');• Removes redundant CodeMirror scrape (not used in the comparison).
• Converts to Cypress’ retry-ableshould
, reducing flake.
• Keeps assertions chainable & eliminates explicit string manipulation.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/client/cypress/e2e/Regression/ClientSide/JSObject/JSObject_Tests_spec.ts
(2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`app/client/cypress/**/**.*`: Review the following e2e test code written using the Cypress test library. Ensure that: - Follow best practices for Cypress code and e2e automation. ...
app/client/cypress/**/**.*
: Review the following e2e test code written using the Cypress test library. Ensure that:
- Follow best practices for Cypress code and e2e automation.
- Avoid using cy.wait in code.
- Avoid using cy.pause in code.
- Avoid using agHelper.sleep().
- Use locator variables for locators and do not use plain strings.
- Use data-* attributes for selectors.
- Avoid Xpaths, Attributes and CSS path.
- Avoid selectors like .btn.submit or button[type=submit].
- Perform logins via API with LoginFromAPI.
- Perform logout via API with LogOutviaAPI.
- Perform signup via API with SignupFromAPI.
- Avoid using it.only.
- Avoid using after and aftereach in test cases.
- Use multiple assertions for expect statements.
- Avoid using strings for assertions.
- Do not use duplicate filenames even with different paths.
- Avoid using agHelper.Sleep, this.Sleep in any file in code.
app/client/cypress/e2e/Regression/ClientSide/JSObject/JSObject_Tests_spec.ts
⏰ Context from checks skipped due to timeout of 90000ms (7)
- GitHub Check: perform-test / client-build / client-build
- GitHub Check: perform-test / server-build / server-unit-tests
- GitHub Check: perform-test / rts-build / build
- GitHub Check: client-unit-tests / client-unit-tests
- GitHub Check: client-prettier / prettier-check
- GitHub Check: client-lint / client-lint
- GitHub Check: client-build / client-build
Description
This PR fixes client/cypress/e2e/Regression/ClientSide/JSObject/JSObject_Tests_spec.ts. This test started failing after fixing generate crud issue with dynamicBindingPathList. With this fix, dynamicBindingPathList started appearing for generated queries as well and so it started breaking one of the test cases which was asserting the evaluated popup's value.
The test was asserting that value in evaluated value popup should be equal to the query itself earlier, but after the right fix for generate crud, it won't be equal, rather bindings will be replaced by placeholders. This PR fixes the test by adding correct assertion for evaluated value.
Fixes #40857
or
Fixes
Issue URL
Warning
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.
Automation
/ok-to-test tags="@tag.Datasource"
🔍 Cypress test results
Tip
🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/15699603166
Commit: a7041c3
Cypress dashboard.
Tags:
@tag.Datasource
Spec:
Tue, 17 Jun 2025 06:32:51 UTC
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit