-
Notifications
You must be signed in to change notification settings - Fork 13
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
SQS-377 | Unit test ProcessPool #493
Conversation
Introduces unit tests for Orderbook usecase ProcessPool method.
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM!
My only recommendation is to reduce code duplication and hard coding before merge.
{ | ||
name: "pool is nil", | ||
pool: nil, | ||
expectedError: "pool is nil when processing order book", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's also import the actual errors rather than hardcoding strings.
This is so that if we need to change an error message, we only need to do it in one place
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually the identical situation as described in previous PR comment. If you would like still to proceed with this idea can we descope it from this task?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per the comment in another PR, I would like to suggest considering completing it in this PR so that we avoid accumulating tech debt.
IMO, this should be under 20 minutes to change/refactor but will yield the benefit of not having to switch context to come back to in the future and/or accumulate tech debt that is already exceeding the comfortable levels.
Will leave the final call to you though!
Adds requested improvements
Add cosmwasmpool import
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pre-approving pending the decision on handling errors
{ | ||
name: "pool is nil", | ||
pool: nil, | ||
expectedError: "pool is nil when processing order book", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per the comment in another PR, I would like to suggest considering completing it in this PR so that we avoid accumulating tech debt.
IMO, this should be under 20 minutes to change/refactor but will yield the benefit of not having to switch context to come back to in the future and/or accumulate tech debt that is already exceeding the comfortable levels.
Will leave the final call to you though!
Requested changes: errors as types
Quality Gate failedFailed conditions |
As per suggestion implemented error types instead of hardcoding strings. Thanks @p0mvn for your time and suggestions! 🙏 |
This pull request introduces unit tests for Orderbook usecase
ProcessPool
method. As a side effect for more efficient testing it refactors several program parts, for exampleFetchTickUnrealizedCancels
andFetchTicks
are moved to theclient
side instead of keeping inorberbook
usecase.Tests aims to cover errors and one one successful case: