Skip to content

[Testing] MultisigGovernance cross-contract set_admin is only tested against a MockTarget, never a real RemitLend contract #1156

Description

@grantfox-oss

Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0

Why this matters

contracts/multisig_governance/src/test.rs:41 registers a local MockTarget and asserts MockTargetClient.get_admin(), so the finalize_admin_transfer -> set_admin invocation is never exercised against the actual LendingPool/RemittanceNFT (which expose set_admin) or LoanManager (which does not). The crate has no path dev-dependency on the real contracts, so the symbol/arg-type/auth mismatch that breaks the real deployment is invisible to the suite.

Acceptance criteria

  • Add lending_pool/remittance_nft as path dev-dependencies of multisig_governance (matching loan_manager's test wiring)
  • Add an integration test that registers a real RemitLend contract, runs propose -> approve -> finalize, and asserts the real contract's admin actually changed
  • Add a negative test asserting finalize against a target lacking set_admin fails clearly

Files to touch

  • contracts/multisig_governance/src/test.rs
  • contracts/multisig_governance/Cargo.toml

Out of scope

  • Cross-contract fuzzing
  • Frontend governance console tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    contractsIssues related to smart contractsrustPull requests that update rust codetestingAdding or fixing tests

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions