Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

chore: fix bugs and add more tests #169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
techouse wants to merge 7 commits into CodingAleCR:main
base: main
Choose a base branch
Loading
from techouse:chore/tests

Conversation

@techouse
Copy link
Contributor

@techouse techouse commented Jul 23, 2025
edited
Loading

This pull request introduces significant updates to the copyWith methods for BaseRequest, StreamedRequest, and related classes, transitioning them to asynchronous operations. It also adds comprehensive test coverage for these changes, ensuring correctness and robustness. Below are the key changes grouped by theme:

Enhancements to copyWith Methods:

  • The copyWith method in BaseRequest was updated to be asynchronous (Future<BaseRequest>), enabling support for asynchronous operations like handling streams. (lib/extensions/base_request.dart, [1] [2] [3]
  • Similarly, the StreamedRequest.copyWith method was updated to be asynchronous and now uses await to handle streams properly. (lib/extensions/streamed_request.dart, lib/extensions/streamed_request.dartL8-R29)

Bug Fixes and Improvements:

  • Fixed a bug where copyWith methods for StreamedRequest and MultipartRequest incorrectly modified the original request's properties (e.g., followRedirects, maxRedirects, persistentConnection). (test/extensions/multipart_request_test.dart, test/extensions/multipart_request_test.dartR1-R186)

Updates to Intercepted Client:

  • Updated the _interceptRequest method in InterceptedClient to await the asynchronous copyWith method, ensuring compatibility with the updated BaseRequest. (lib/http/intercepted_client.dart, lib/http/intercepted_client.dartL400-R400)

Comprehensive Test Coverage:

  • Added new tests for BaseRequest.copyWith, StreamedRequest.copyWith, MultipartRequest.copyWith, and IOStreamedResponse.copyWith, covering edge cases, property overrides, and unsupported types. (test/extensions/base_request_test.dart, [1]; test/extensions/io_streamed_response_test.dart, [2]; test/extensions/multipart_request_test.dart, [3]
  • Introduced tests to validate proper handling of unsupported request and response types, ensuring UnsupportedError is thrown as expected. (test/extensions/base_request_test.dart, [1]; test/extensions/base_reponse_test.dart, [2]

Miscellaneous Changes:

  • Added missing imports for dart:async and dart:convert in various files to support asynchronous operations and data encoding. (lib/extensions/base_request.dart, [1]; test/extensions/base_reponse_test.dart, [2]

These changes collectively modernize the copyWith implementation, making it more robust and suitable for handling complex request and response scenarios while ensuring backward compatibility through extensive testing.

@techouse techouse changed the title (削除) 🧪 add more tests (削除ここまで) (追記) ✅ add more tests (追記ここまで) Jul 23, 2025
@techouse techouse changed the title (削除) ✅ add more tests (削除ここまで) (追記) chore: add more tests (追記ここまで) Jul 23, 2025
Copy link
Contributor Author

techouse commented Jul 23, 2025
edited
Loading

@CodingAleCR you could potentially merge these tests with the ones in #167

@techouse techouse changed the title (削除) chore: add more tests (削除ここまで) (追記) chore: fix bugs and add more tests (追記ここまで) Jul 26, 2025
@techouse techouse mentioned this pull request Jul 26, 2025
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /