From b9a00588d827b4b28226b3b6a79da58fc14b8099 Mon Sep 17 00:00:00 2001 From: Sebastian Bor Date: Fri, 30 Jul 2021 01:04:42 +0100 Subject: [PATCH] Governance: Add test for removing signatory after signing (#2178) --- .../program/tests/process_remove_signatory.rs | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/governance/program/tests/process_remove_signatory.rs b/governance/program/tests/process_remove_signatory.rs index a228b65c..6a8109e9 100644 --- a/governance/program/tests/process_remove_signatory.rs +++ b/governance/program/tests/process_remove_signatory.rs @@ -213,3 +213,53 @@ async fn test_remove_signatory_with_not_editable_error() { GovernanceError::InvalidStateCannotEditSignatories.into() ); } + +#[tokio::test] +async fn test_remove_signatory_with_already_signed_error() { + // Arrange + let mut governance_test = GovernanceProgramTest::start_new().await; + + let realm_cookie = governance_test.with_realm().await; + let governed_account_cookie = governance_test.with_governed_account().await; + + let mut account_governance_cookie = governance_test + .with_account_governance(&realm_cookie, &governed_account_cookie) + .await + .unwrap(); + + let token_owner_record_cookie = governance_test + .with_community_token_deposit(&realm_cookie) + .await; + + let proposal_cookie = governance_test + .with_proposal(&token_owner_record_cookie, &mut account_governance_cookie) + .await + .unwrap(); + + let signatory_record_cookie = governance_test + .with_signatory(&proposal_cookie, &token_owner_record_cookie) + .await + .unwrap(); + + governance_test + .sign_off_proposal(&proposal_cookie, &signatory_record_cookie) + .await + .unwrap(); + + // Act + let err = governance_test + .remove_signatory( + &proposal_cookie, + &token_owner_record_cookie, + &signatory_record_cookie, + ) + .await + .err() + .unwrap(); + + // Assert + assert_eq!( + err, + GovernanceError::InvalidStateCannotEditSignatories.into() + ); +}