Skip to content

Missing test coverage for date range picker edge cases (dates, times, boundaries) #59949

@arjav1528

Description

@arjav1528

Apache Airflow version

3.1.5

If "Other Airflow 3 version" selected, which one?

No response

What happened?

The date range picker currently exhibits inconsistent behavior when handling edge cases such as invalid dates, invalid times, boundary transitions, and partial date ranges. Some scenarios are not validated correctly, while others lack explicit assertions, making failures harder to detect and debug.
Additionally, certain user interactions (e.g., partial ranges, removal actions, or invalid inputs) are not covered by existing tests, which can allow regressions to go unnoticed.

What you think should happen instead?

The date range picker should:
Validate invalid dates and times consistently (e.g., invalid months, days, and time values)
Correctly handle boundary cases such as leap years and month/year transitions
Support partial ranges (only start or only end) with predictable behavior
Trigger callbacks (onChange, onRemove) only when inputs are valid
Clear validation errors appropriately when inputs are corrected
Test coverage should explicitly assert these behaviors to ensure long-term correctness and maintainability.

How to reproduce

How to reproduce
Open the date range picker component
Enter invalid date or time values (e.g., month 13, day 32, time 25:00)
Try boundary cases (e.g., Feb 29 on non-leap year, start date after end date)
Provide partial inputs (only start date or only end date)
Observe inconsistent validation behavior or lack of clear feedback

Operating System

macOS (Apple Silicon / Intel)

Versions of Apache Airflow Providers

No response

Deployment

Official Apache Airflow Helm Chart

Deployment details

No response

Anything else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:UIRelated to UI/UX. For Frontend Developers.area:corekind:bugThis is a clearly a bugneeds-triagelabel for new issues that we didn't triage yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions