✅ test: add unit test for src/utils/fetch/fetchSSE.ts #6347
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
fetchSSE
utility function, ensuring its behavior is validated across various scenarios. The tests cover the following cases:Successful Text Streaming: Verifies that text messages are correctly handled and concatenated, and the
onFinish
callback is invoked with the expected result.Tool Calls Streaming: Ensures that tool call events are processed and passed to the
onMessageHandle
callback.Citations Streaming: Confirms that citation events are handled and passed correctly.
Reasoning Streaming: Tests the handling of reasoning events and their delivery to the
onMessageHandle
callback.Abort Handling: Validates that the
onAbort
callback is triggered when an abort event occurs.Error Handling: Ensures that errors are captured and passed to the
onErrorHandle
callback.The
fetchEventSource
function is mocked to simulate different streaming scenarios, and all relevant callbacks are tested for proper invocation with expected arguments. This ensures robust coverage of thefetchSSE
functionality.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