refactor: [v0.8-develop] account test base #44
Merged
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.
Motivation
All tests in
test/account
used a similar setup sequence - deploying the EntryPoint, deploying SingleOwnerPlugin, setting up the account and owners.Solution
To reduce repeated boilerplate code, pull out this test setup to a single test base called
AccountTestBase
, and make the aforementioned tests inherit from this.To do this, I had to slightly refactor
UpgradeableModularAccount.t.sol
- previously, it usedaccount1
to refer to the un-deployed account counterfactual andaccount2
to refer to the deployed account, but to use the test base, I had to switch these.Also had to fix the mocks used by the execute from plugin tests, because they previously hardcoded deployment addresses coming from a nonce (create1), but the new abstract test base changed them. Refactored to correctly parameterize the addresses.