refactor(chat.tsx): made a chat.utils and its related (unit) tests#48
Open
waqasshaukat wants to merge 2 commits intomainfrom
Open
refactor(chat.tsx): made a chat.utils and its related (unit) tests#48waqasshaukat wants to merge 2 commits intomainfrom
waqasshaukat wants to merge 2 commits intomainfrom
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ai | ad63e63 | Commit Preview URL Branch Preview URL |
Dec 15 2025, 08:44 AM |
Muneeb147
reviewed
Dec 15, 2025
Contributor
Muneeb147
left a comment
There was a problem hiding this comment.
Thanks for adding these.
I was curious if we had any GH issue or requirement for that? It's good to add tests but I'm curious about the way we are testing individual functions instead of the complete handler flow..
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.
Extracted 8 pure utility functions from chat.tsx into a separate lib/chat-utils.ts module for improved testability and maintainability:
getApiBase - Determines API endpoint based on URL params
buildApiUrl - Constructs API URL with query parameters
decodeTitle - Safely decodes URL-encoded page titles
isLoadingState - Checks if chat is in loading state
parseMessageData - Safely parses JSON from message events
isOrbitChatSubmission - Type guard for ORBIT_CHAT messages
shouldSubmitCode - Validates code submission conditions
buildChatUrl - Builds chat navigation URLs
Added 35 unit tests covering all utility functions with edge cases.