Skip to content
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

fix:Unpredictable movements of the dates in the date picker included #34314

Conversation

somangshu
Copy link
Contributor

@somangshu somangshu commented Jun 18, 2024

…in the table widget; are decreased by 1 day #25081

Description

EE PR: https://github.com/appsmithorg/appsmith-ee/pull/5190

Fixes #25081
or
Fixes https://github.com/appsmithorg/appsmith/issues/25081

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.All"

🔍 Cypress test results

Tip

🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/10953762335
Commit: 2d9bfe7
Cypress dashboard.
Tags: @tag.All
Spec:


Fri, 20 Sep 2024 06:55:40 UTC

Communication

Should the DevRel and Marketing teams inform users about this change?

  • Yes
  • No

SCREENSHOTS:
Screenshot from 2024-05-31 17-52-19

Video:Fixing the issue

Summary by CodeRabbit

  • New Features

    • Introduced new test logic for Table Widget V2 to handle adding new rows and editing date columns.
    • Added new test suites to validate the functionality of the Date column in Table Widget V2, ensuring robust interaction and correct date formatting.
  • Bug Fixes

    • Improved date handling in Table Widget V2 to ensure proper formatting and consistency when new rows are added.

Harshithazemoso and others added 8 commits May 31, 2024 17:48
…ictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day' into external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day
Copy link
Contributor

coderabbitai bot commented Jun 18, 2024

Walkthrough

These changes enhance the testing framework for the Table Widget V2, specifically focusing on the addition of new rows and editing date columns. The modifications improve interactions with date pickers and ensure data consistency. Additionally, the DateCell.tsx file has been optimized for better management of the formattedDate assignment during the processing of new rows.

Changes

Files Summary
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/AddNewRowEditColumn_spec.ts Introduced test logic for Table Widget V2 to add new rows and edit date columns, including setup, property toggling, editing columns, and data verification.
app/client/src/widgets/TableWidgetV2/component/cellComponents/DateCell.tsx Refactored the onDateSelected function to initialize formattedDate early and updated calls to updateNewRowValues to ensure correct date formatting.
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumnAddNewRow_EditRow_spec.ts Added a test suite to validate the Date column functionality, including adding new rows, editing date values, and verifying correct date display.
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts Introduced a test suite focused on validating the Date column's ISO format during new row addition and editing, ensuring correct date handling.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TableWidget
    participant AddRowTest
    participant DateCell

    User->>+TableWidget: Initiate adding new row
    TableWidget->>AddRowTest: Setup before tests
    AddRowTest->>TableWidget: Toggle properties and edit column
    User->>+TableWidget: Enter values and interact with date picker
    TableWidget->>+DateCell: onDateSelected(date)
    DateCell->>DateCell: Initialize formattedDate
    DateCell->>TableWidget: updateNewRowValues with formattedDate
    TableWidget->>User: Display updated table with new row and formatted dates
    User->>+AddRowTest: Verify data consistency
    AddRowTest->>User: Confirm test passed
Loading

Possibly related issues

Poem

In the realm of widgets, where dates take flight,
New rows are added, and all feels right.
With tests that dance and data that gleams,
A coder's delight, fulfilling their dreams.
Each click and toggle, a symphony plays,
In the world of code, we celebrate the ways!


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the Bug Something isn't working label Jun 18, 2024
@somangshu somangshu added ok-to-test Required label for CI and removed ok-to-test Required label for CI labels Jun 18, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f718bfb and b776289.

Files selected for processing (2)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/AddNewRowEditColumn_spec.ts (1 hunks)
  • app/client/src/widgets/TableWidgetV2/component/cellComponents/DateCell.tsx (2 hunks)
Additional context used
Biome
app/client/src/widgets/TableWidgetV2/component/cellComponents/DateCell.tsx

[error] 108-115: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.

Additional comments not posted (2)
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/AddNewRowEditColumn_spec.ts (2)

3-22: The addition of tableData constant provides a clear initial setup for the table, which is crucial for consistent test conditions.


33-39: The addition of the togglePropertyAndGoBack function enhances modularity and reusability in your test scripts. Well done on abstracting this repetitive action into a separate function.

@ApekshaBhosale ApekshaBhosale added ok-to-test Required label for CI and removed ok-to-test Required label for CI labels Jun 19, 2024
@ApekshaBhosale
Copy link
Contributor

@somangshu this is new spec , we need to check for flakiness as well. we need to run this spec on EE at least 10 times to make sure there is no flakiness once it passes on CE. One can do this with adding new spec file path to "limited-test.txt" file and running with /ci-test-limit

@somangshu
Copy link
Contributor Author

@ApekshaBhosale that seems really cumbersome.

Copy link

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@github-actions github-actions bot added the Stale label Jun 27, 2024
@somangshu somangshu closed this Jul 2, 2024
@somangshu somangshu deleted the external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day branch July 2, 2024 07:38
@jacquesikot jacquesikot restored the external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day branch August 23, 2024 10:07
@jacquesikot jacquesikot reopened this Aug 23, 2024
@jacquesikot
Copy link
Contributor

/build-deploy-preview skip-tests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/10523912551.
Workflow: On demand build Docker image and deploy preview.
skip-tests: true.
env: ``.
PR: 34314.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-34314.dp.appsmith.com

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between b776289 and fbc38e5.

Files selected for processing (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumnAddNewRow_EditRow_spec.ts (1 hunks)
Additional context used
Path-based instructions (1)
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumnAddNewRow_EditRow_spec.ts (1)

Pattern 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.
Additional comments not posted (1)
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumnAddNewRow_EditRow_spec.ts (1)

1-7: Use of locator variables and data- attributes for selectors.*

The import statement correctly uses locator variables from a centralized location, which is a good practice for maintainability and reusability. Ensure that all selectors used in the tests are based on data-* attributes to improve test stability and avoid coupling tests too closely to the DOM structure.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between fbc38e5 and bc8b2f6.

Files selected for processing (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts (1 hunks)
Additional context used
Path-based instructions (1)
app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts (1)

Pattern 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.

@rahulbarwal rahulbarwal self-requested a review September 6, 2024 11:31
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between bc8b2f6 and 3842691.

Files selected for processing (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts

@rahulbarwal rahulbarwal removed Stale ok-to-test Required label for CI labels Sep 6, 2024
The test case for DateColumn_ISOFormat_AddNewRow_EditRow_spec was failing due to unnecessary steps for verifying successful log. This commit updates the test case to remove the unnecessary steps and fix the issue.
@rahulbarwal rahulbarwal added Widgets & Accelerators Pod Issues related to widgets & Accelerators ok-to-test Required label for CI labels Sep 6, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 3842691 and 73bbacc.

Files selected for processing (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/DateColumn_ISOFormat_AddNewRow_EditRow_spec.ts

@sagar-qa007 sagar-qa007 added ok-to-test Required label for CI and removed ok-to-test Required label for CI labels Sep 11, 2024
…o external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day
@sagar-qa007
Copy link
Contributor

@somangshu Test are failing and can you please share me contributor PR in desc or here?

@somangshu
Copy link
Contributor Author

not sure.
@rahulbarwal has been managing this, probably he knows.
Otherwise, the branch name is Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day

This should allow you to search the PR

@rahulbarwal
Copy link
Contributor

@sagar-qa007 we have taken the ownership of this PR. I'll be taking care of the failing specs.

…o external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day
…o external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day
…o external-contri/Issue-25081-fix/Unpredictable-movements-of-the-dates-in-the-date-picker-included-in-the-table-widget-are-decreased-by-1-day
@jacquesikot
Copy link
Contributor

This issue is addressed in this PR - #36455

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working ok-to-test Required label for CI Widgets & Accelerators Pod Issues related to widgets & Accelerators
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants