test: Add unit test for projects/app/src/web/core/chat/context/useChatStore.ts #4812
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
PR Summary
Changes Introduced:
Enhancements to
useChatStore
:Added unit tests for
useChatStore
to validate its functionality, including:Setting and restoring the
source
andlastChat
values.Generating new
chatId
when thesource
changes.Setting
appId
andlastChatAppId
.Ensuring
appId
is not set to an empty value.Setting
chatId
andlastChatId
.Generating new
chatId
if none is provided.Setting
outLinkAuthData
.Introduction of
createCustomStorage
:Exported the
createCustomStorage
function fromuseChatStore
.Added unit tests for
createCustomStorage
to validate:Storage creation with
appId
embedded in the key.Proper segregation of session and local storage data.
Removal of items from both storages.
Mocking Utilities:
Mocked
getNanoid
function to return a consistent value (test-nanoid
) for predictable testing.Created mock implementations for
sessionStorage
andlocalStorage
to simulate browser storage behavior during tests.Testing Framework Setup:
Utilized
vitest
for unit testing.Added comprehensive test cases to ensure robustness of the
useChatStore
andcreateCustomStorage
functionalities.Additional Files:
Added new test file:
useChatStore.test.ts
for unit testing.Binary and map files related to
corepack
were introduced, likely for dependency management or build tooling.Impact:
Improved code reliability and maintainability by introducing unit tests for critical functionalities.
Enhanced storage handling with
createCustomStorage
, ensuring better data management and isolation.Facilitated future development and debugging with robust test coverage.
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-agent
and leave your feedback. TestGru will make adjustments based on your inputTip
You can
@gru-agent rebase
to rebase the PR.Tip
You can
@gru-agent redo
to reset or rebase before redoing the PR.Tip
To modify the test code yourself, click here Edit Test Code