✅ test: add unit test for src/server/utils/tempFileManager.ts #6736
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
TempFileManager
utility, ensuring its functionality and robustness. Key highlights include:Initialization Tests: Verifies that a temporary directory is created upon instantiation.
File Writing Tests:
Confirms successful writing of temporary files with specified extensions.
Ensures
.epub
is used as the default extension when none is provided.Handles write failures gracefully by throwing an error and cleaning up the temporary directory.
Cleanup Tests:
Validates proper cleanup of the temporary directory when it exists.
Ensures no cleanup is attempted if the directory does not exist.
Process Hook Tests: Confirms that cleanup hooks are registered for process events (
exit
,uncaughtException
,SIGINT
,SIGTERM
).Mocking is extensively used to isolate the behavior of
TempFileManager
from external dependencies likefs
andos
. These tests improve confidence in the utility's reliability and error handling.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