-
Notifications
You must be signed in to change notification settings - Fork 3
Add support for cross-service exception handling in tests #310
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Introduced the `AlternativeService` module with customized error and result classes to simulate cross-service interactions. - Implemented the `Usual::TestKit::Rspec` module to test relaxed and strict exception validation strategies for `.call` and `.call!` methods. - Enhanced `MockExecutor` helper to differentiate validation strategies based on method type: - Relaxed validation for `.call` (accepts any `Servactory::Exceptions::Failure` subclass). - Strict validation for `.call!` (requires configured failure class). - Added comprehensive RSpec test coverage to validate cross-service behavior and mocking flexibility.
- Corrected `rspec_context` parameter syntax in `MockExecutor` test cases by removing trailing colons. - Ensured consistency across multiple test scenarios to prevent syntax-related issues.
- Updated context descriptions in `MockExecutor` RSpec tests to use more descriptive phrasing (e.g., "when using .call" instead of "for .call"). - Replaced inline variable definitions with `let` in `example1_spec` to align with RSpec conventions, improving readability and test consistency.
- Updated test cases to enhance failure service validation: - Added `.with`, `.type`, and `.meta` matchers for `ApplicationService::Exceptions::Failure`. - Improved accuracy by checking failure type and metadata. - Enhanced exception validation for raised errors: - Verified exception type, message, and metadata consistency across tests. - Improved test readability and debugging through stricter failure assertions.
- Improved `.call` test structure by reorganizing contexts for sibling and exact failure class mocking. - Updated inline comments for better clarity on relaxed validation behavior. - Ensured consistent formatting and alignment of test examples.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.