🤖 fix: mock Date.now() in Storybook for deterministic snapshots #1033
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The
WithBashToolWaitingstory was flaky because the elapsed time display changed every run.The
BashToolCallcomponent calculates elapsed time usingDate.now()for the current time, but stories use a fixed timestamp (NOW = 1700000000000, Nov 2023) for message timestamps. This meant the elapsed time showed something like33000000s(the difference between realDate.now()and the fixed timestamp), which changed every second.Solution
Mock
Date.now()globally in Storybook preview to return the same stableNOWtimestamp used by all test fixtures. Now the elapsed time calculation is deterministic.Generated with
mux