-
Notifications
You must be signed in to change notification settings - Fork 4.7k
chore: Adding coderabbit config file #34955
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
Changes from 7 commits
f13ed09
196b8bf
78e0fdb
6ef6fb6
95e820e
7467cbb
a36f42e
ec3c457
1f91d0a
bc6cd6c
caa8493
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json | ||
| language: "en-US" | ||
| early_access: false | ||
| tone_instructions: 'You must talk like teacher.' | ||
| reviews: | ||
| profile: "chill" | ||
| request_changes_workflow: false | ||
| high_level_summary: true | ||
| poem: true | ||
| review_status: true | ||
| collapse_walkthrough: false | ||
| auto_review: | ||
| enabled: true | ||
| drafts: false | ||
| path_instructions: | ||
| - path: "app/client/cypress/**/**.*" | ||
| instructions: | | ||
| 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. | ||
| chat: | ||
| auto_reply: true |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,86 @@ | ||||||||||||||||||||||||||||||||||||||||
| import { | ||||||||||||||||||||||||||||||||||||||||
| agHelper, | ||||||||||||||||||||||||||||||||||||||||
| deployMode, | ||||||||||||||||||||||||||||||||||||||||
| entityExplorer, | ||||||||||||||||||||||||||||||||||||||||
| jsEditor, | ||||||||||||||||||||||||||||||||||||||||
| propPane, | ||||||||||||||||||||||||||||||||||||||||
| } from "../../../../support/Objects/ObjectsCore"; | ||||||||||||||||||||||||||||||||||||||||
| import EditorNavigation, { | ||||||||||||||||||||||||||||||||||||||||
| EntityType, | ||||||||||||||||||||||||||||||||||||||||
| PageLeftPane, | ||||||||||||||||||||||||||||||||||||||||
| PagePaneSegment, | ||||||||||||||||||||||||||||||||||||||||
| } from "../../../../support/Pages/EditorNavigation"; | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| describe("removeValue", { tags: ["@tag.notcovered"] }, () => { | ||||||||||||||||||||||||||||||||||||||||
| const dataDiv = "div[id='testing']"; | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| before(() => { | ||||||||||||||||||||||||||||||||||||||||
| console.log("before"); | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
| beforeEach(() => { | ||||||||||||||||||||||||||||||||||||||||
| console.log("before each"); | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| after(() => { | ||||||||||||||||||||||||||||||||||||||||
| console.log("after"); | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
| afterEach(() => { | ||||||||||||||||||||||||||||||||||||||||
| console.log("after each"); | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| it("Remove", function () { | ||||||||||||||||||||||||||||||||||||||||
| cy.LoginUser(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| cy.pause(); | ||||||||||||||||||||||||||||||||||||||||
| cy.wait(5000); | ||||||||||||||||||||||||||||||||||||||||
| cy.xpath("//div[@id='testing']"); | ||||||||||||||||||||||||||||||||||||||||
| cy.get("div[id='testing']"); | ||||||||||||||||||||||||||||||||||||||||
| cy.get(".btn.submit"); | ||||||||||||||||||||||||||||||||||||||||
| cy.get(".div.span"); | ||||||||||||||||||||||||||||||||||||||||
| cy.get("button[type=submit]"); | ||||||||||||||||||||||||||||||||||||||||
| expect(true).to.be.equal(false); | ||||||||||||||||||||||||||||||||||||||||
| cy.get("input[type=input]").type("testing str"); | ||||||||||||||||||||||||||||||||||||||||
| cy.get("input[type=input]").type(dataDiv); | ||||||||||||||||||||||||||||||||||||||||
| this.agHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| this.agHelper.Sleep(2000); | ||||||||||||||||||||||||||||||||||||||||
| _.AggregateHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| agHelper.Sleep(500); | ||||||||||||||||||||||||||||||||||||||||
| _.agHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| this.Sleep() | ||||||||||||||||||||||||||||||||||||||||
| this.Sleep(3000) | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| it.only("Remove", function () { | ||||||||||||||||||||||||||||||||||||||||
| cy.wait(5000); | ||||||||||||||||||||||||||||||||||||||||
| cy.xpath("//div[@id='testing']"); | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove focus from tests to ensure all tests are executed. Dear young coder, the use of - it.only("Remove", function () {
+ it("Remove", function () {
cy.wait(5000);
cy.xpath("//div[@id='testing']");
}Committable suggestion
Suggested change
ToolsBiome
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Keep each comment separate. Do not merge comments and even if it is duplicate write down for each line. Do not change path instructions. It should print as it is.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @sagar-qa007, I understand your instructions to keep each comment separate, even if they are duplicates, and to ensure that path instructions are printed exactly as provided. Moving forward, I'll make sure to adhere to these guidelines in my comments. Thank you for the clarification! Learnings used |
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| it.only("new Remove", function () { | ||||||||||||||||||||||||||||||||||||||||
| cy.LoginUser(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| cy.wait(5000); | ||||||||||||||||||||||||||||||||||||||||
| _.AggregateHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| agHelper.Sleep(500); | ||||||||||||||||||||||||||||||||||||||||
| cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| _.agHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| this.Sleep() | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| this.Sleep(3000) | ||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Multiple issues with focused tests and discouraged practices. Dear student, this test case has multiple issues that need your attention:
Here is how you can improve this test case: - it.only("new Remove", function () {
+ it("new Remove", function () {
cy.LoginUser(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- cy.wait(5000);
- _.AggregateHelper.Sleep();
- cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- agHelper.Sleep(500);
- cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- _.agHelper.Sleep();
- this.Sleep()
- this.Sleep(3000)
+ // Correct login, signup, and logout steps without delays
+ cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"));
+ cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"));
}Committable suggestion
Suggested change
ToolsBiome
|
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| it.only("new test cases", function () { | ||||||||||||||||||||||||||||||||||||||||
| agHelper.Sleep(500); | ||||||||||||||||||||||||||||||||||||||||
| cy.LoginUser(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| cy.wait(5000); | ||||||||||||||||||||||||||||||||||||||||
| this.Sleep(3000) | ||||||||||||||||||||||||||||||||||||||||
| _.AggregateHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false); | ||||||||||||||||||||||||||||||||||||||||
| _.agHelper.Sleep(); | ||||||||||||||||||||||||||||||||||||||||
| this.Sleep() | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Consolidate test cases and remove focused and sleep functions. Dear learner, this test case also suffers from the use of - it.only("new test cases", function () {
+ it("new test cases", function () {
cy.LoginUser(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- cy.wait(5000);
- this.Sleep(3000)
- _.AggregateHelper.Sleep();
- cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"), false);
- _.agHelper.Sleep();
- this.Sleep()
+ // Optimized test steps without unnecessary delays
+ cy.signUp(Cypress.env("USERNAME"), Cypress.env("PASSWORD"));
+ cy.Logout(Cypress.env("USERNAME"), Cypress.env("PASSWORD"));
}Committable suggestion
Suggested change
ToolsBiome
|
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||
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.
Refactor test case to remove discouraged practices and incorrect assertions.
Dear student, the test case titled "Remove" contains several practices that we should avoid to maintain the integrity and reliability of our tests:
cy.pause()andcy.wait()which can lead to non-deterministic behavior.expect(true).to.be.equal(false), which seems to be intentionally failing.Here's a proposed refactor to correct these issues:
Committable suggestion