Refactor favorite status to type-safe enum and fix DateTime comparison - #201
Merged
richardthe3rd merged 3 commits intoJan 2, 2026
Merged
Conversation
- Added FavoriteStatus enum with wantToTry and tasted values - Updated FavoriteItem model to use FavoriteStatus instead of string literals - Fixed DateTime comparison in deleteTry to use millisecondsSinceEpoch - Added comprehensive documentation for FavoriteItem equality operator - Added detailed documentation for Optional class with usage examples - Fixed test assertion type from Map<String, dynamic> to Map<String, FavoriteItem> - Added test coverage for deleteTry after JSON serialization - Updated all tests to use FavoriteStatus enum Co-authored-by: richardthe3rd <573334+richardthe3rd@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement My Festival favourites feature
Refactor favorite status to type-safe enum and fix DateTime comparison
Jan 2, 2026
richardthe3rd
marked this pull request as ready for review
January 2, 2026 19:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Addresses PR review feedback on the My Festival feature by replacing string literals with type-safe enums and fixing timestamp comparison issues.
Type Safety
FavoriteStatusenum (wantToTry,tasted) withfromString()factory for JSON deserializationgetFavoriteStatus()to return.valuefrom enumDateTime Comparison Fix
deleteTryto compare timestamps viamillisecondsSinceEpochinstead of direct equalityTest Coverage
deleteTryworks correctly after JSON round-trip serializationMap<String, dynamic>toMap<String, FavoriteItem>Documentation
FavoriteItemequality operator's ID-only comparison rationale (enables use in Sets/Maps where uniqueness is by drink, not state)Optional<T>class documentation with usage examples for nullable copyWith parameters💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.