Skip to content

Replace date string with Date object#6764

Merged
compwron merged 1 commit intorubyforgood:mainfrom
jyeharry:fix-mileage-rates-test-wrong-date-format
Mar 11, 2026
Merged

Replace date string with Date object#6764
compwron merged 1 commit intorubyforgood:mainfrom
jyeharry:fix-mileage-rates-test-wrong-date-format

Conversation

@jyeharry
Copy link
Copy Markdown
Contributor

@jyeharry jyeharry commented Mar 9, 2026

What github issue is this PR for, if any?

Resolves #6763

What changed, and why?

Replaced a date string "01/02/2020" with a Date object to ensure consistent date rendering across timezones.

How is this tested? (please write rspec and jest tests!) 💖💪

Updated flaky test.

Screenshots please :)

N/A

@github-actions github-actions bot added ruby Pull requests that update Ruby code Tests! 🎉💖👏 labels Mar 9, 2026
Copy link
Copy Markdown
Collaborator

@compwron compwron left a comment

Choose a reason for hiding this comment

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

:)

@jyeharry
Copy link
Copy Markdown
Contributor Author

jyeharry commented Mar 9, 2026

@compwron Don't think I have merge permissions :)

Copy link
Copy Markdown
Contributor

@stefannibrasil stefannibrasil left a comment

Choose a reason for hiding this comment

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

🌟

@compwron compwron merged commit 8ba192f into rubyforgood:main Mar 11, 2026
11 checks passed
stefannibrasil added a commit to hexdevs/casa that referenced this pull request Mar 18, 2026
Resolves rubyforgood#6701

When github's free CI servers are under heavy load, a race condition
between the page loading and checking the database causes tests to flake.
This is caused by a system test inputting data into a form then
immediately checking the database without waiting for the form to finish submitting.

For every database check in the system files, this ensures it's preceded
by a capybara matcher with automatic waiting, such as
checking for assertions after the page loads before
checking for DB values, or replaced the database
check with a check for something to appear on the page.

I also took the opportunity to refactor some small things to save
up test setup time:

- build factories instead of creating as much as possible
- require `:js` only when necessary
- remove unused variables and factories
- keep necessary factories close to where they are used to avoid
  creating extra factories when not needed
- update Date string to Date objects (these were flaky locally),
  similar to rubyforgood#6764
stefannibrasil added a commit to hexdevs/casa that referenced this pull request Mar 18, 2026
Resolves rubyforgood#6701

When github's free CI servers are under heavy load, a race condition
between the page loading and checking the database causes tests to flake.
This is caused by a system test inputting data into a form then
immediately checking the database without waiting for the form to finish submitting.

For every database check in the system files, this ensures it's preceded
by a capybara matcher with automatic waiting, such as
checking for assertions after the page loads before
checking for DB values, or replaced the database
check with a check for something to appear on the page.

I also took the opportunity to refactor some small things to save
up test setup time:

- build factories instead of creating as much as possible
- require `:js` only when necessary
- remove unused variables and factories
- keep necessary factories close to where they are used to avoid
  creating extra factories when not needed
- update Date string to Date objects (these were flaky locally),
  similar to rubyforgood#6764
compwron pushed a commit that referenced this pull request Mar 20, 2026
Resolves #6701

When github's free CI servers are under heavy load, a race condition
between the page loading and checking the database causes tests to flake.
This is caused by a system test inputting data into a form then
immediately checking the database without waiting for the form to finish submitting.

For every database check in the system files, this ensures it's preceded
by a capybara matcher with automatic waiting, such as
checking for assertions after the page loads before
checking for DB values, or replaced the database
check with a check for something to appear on the page.

I also took the opportunity to refactor some small things to save
up test setup time:

- build factories instead of creating as much as possible
- require `:js` only when necessary
- remove unused variables and factories
- keep necessary factories close to where they are used to avoid
  creating extra factories when not needed
- update Date string to Date objects (these were flaky locally),
  similar to #6764
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ruby Pull requests that update Ruby code Tests! 🎉💖👏

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: 'add new mileage rate' test fails due to wrong date format depending on timezone

3 participants