test: Add unit test for projects/app/src/global/core/chat/utils.ts #4328
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.
Trigger Info
Summary
This PR introduces unit tests for the
transformPreviewHistoriesandaddStatisticalDataToHistoryItemutility functions in theutils.tsfile. The tests cover various scenarios to ensure the correctness of these functions, including handling different input configurations, edge cases, and nested data structures. Additionally, theisLLMNodefunction is now exported fromutils.ts.Key Changes:
Unit Tests Added:
transformPreviewHistories:responseDetailset totrueandfalse.addStatisticalDataToHistoryItem:Tests behavior for non-AI objects, pre-defined
totalQuoteList, and undefinedresponseData.Ensures correct statistical calculations for various input scenarios, including nested plugin and loop details.
Export Update:
isLLMNodefunction is now exported fromutils.tsfor external usage.Test Coverage:
Handles empty arrays and undefined values gracefully.
Validates nested structures like
pluginDetailandloopDetail.Ensures accurate computation of
llmModuleAccount,totalQuoteList,totalRunningTime, andhistoryPreviewLength.This PR enhances the reliability of the utility functions and ensures their behavior is well-documented through comprehensive tests.
Coverage
The change in coverage value, such as:
0% -> 50%, indicates that the coverage was 0% before writing the tests and 50% after writing them.https://web.dev/articles/ta-code-coverage
Test Statuses
Tip
You can
@gru-agentand leave your feedback. TestGru will make adjustments based on your inputTip
You can
@gru-agent rebaseto rebase the PR.Tip
You can
@gru-agent redoto reset or rebase before redoing the PR.Tip
To modify the test code yourself, click here Edit Test Code