test: Add unit test for projects/app/src/web/common/api/request.ts #5254
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
request
utility functions in theprojects/app/src/web/common/api/request.ts
file. The following changes are included:Changes:
Export Enhancements:
maxQuantityMap
,checkMaxQuantity
,requestFinish
,startInterceptors
,responseSuccess
,checkRes
,responseError
,instance
, andrequest
.Unit Tests:
Created a new test file
request.test.ts
undertest/cases/web/common/api/
.Added comprehensive test coverage for the following utility functions:
checkMaxQuantity
: Tests for handling max quantity limits, including scenarios for first requests and exceeding limits.requestFinish
: Tests for removing finished requests and handling non-existent requests.checkRes
: Tests for handling successful responses, error responses, and undefined responses.responseError
: Tests for various error scenarios, including token errors, team errors, string errors, and undefined errors.Mocks:
Mocked
getWebReqUrl
from@fastgpt/web/common/system/utils
.Stubbed
window.location
to simulate different pathname scenarios for testing.Purpose:
These tests ensure the reliability and correctness of the
request
utility functions, improving code quality and maintainability.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