Browse Source

Fix broken tests

Shamil Gadelshin 5 years ago
parent
commit
85684bf254

+ 6 - 2
runtime-modules/proposals/engine/src/lib.rs

@@ -549,8 +549,12 @@ impl<T: Trait> Module<T> {
                 Self::slash_and_unstake(active_stake.clone(), slash_balance);
 
             // create finalized proposal status with error if any
-            let new_proposal_status = //TODO rename without an error
-            ProposalStatus::finalized_with_error(decision_status, slash_and_unstake_result.err(), active_stake, Self::current_block());
+            let new_proposal_status = ProposalStatus::finalized(
+                decision_status,
+                slash_and_unstake_result.err(),
+                active_stake,
+                Self::current_block(),
+            );
 
             proposal.status = new_proposal_status.clone();
             <Proposals<T>>::insert(proposal_id, proposal);

+ 6 - 6
runtime-modules/proposals/engine/src/tests/mod.rs

@@ -464,7 +464,7 @@ fn rejected_voting_results_and_remove_proposal_id_from_active_succeeds() {
 
         assert_eq!(
             proposal.status,
-            ProposalStatus::finalized(ProposalDecisionStatus::Rejected, 1),
+            ProposalStatus::finalized_successfully(ProposalDecisionStatus::Rejected, 1),
         );
         assert!(!<ActiveProposalIds<Test>>::exists(proposal_id));
     });
@@ -566,7 +566,7 @@ fn cancel_proposal_succeeds() {
                 parameters: parameters_fixture.params(),
                 proposer_id: 1,
                 created_at: 1,
-                status: ProposalStatus::finalized(ProposalDecisionStatus::Canceled, 1),
+                status: ProposalStatus::finalized_successfully(ProposalDecisionStatus::Canceled, 1),
                 title: b"title".to_vec(),
                 description: b"description".to_vec(),
                 voting_results: VotingResults::default(),
@@ -634,7 +634,7 @@ fn veto_proposal_succeeds() {
                 parameters: parameters_fixture.params(),
                 proposer_id: 1,
                 created_at: 1,
-                status: ProposalStatus::finalized(ProposalDecisionStatus::Vetoed, 1),
+                status: ProposalStatus::finalized_successfully(ProposalDecisionStatus::Vetoed, 1),
                 title: b"title".to_vec(),
                 description: b"description".to_vec(),
                 voting_results: VotingResults::default(),
@@ -701,7 +701,7 @@ fn veto_proposal_event_emitted() {
             RawEvent::ProposalCreated(1, 1),
             RawEvent::ProposalStatusUpdated(
                 1,
-                ProposalStatus::finalized(ProposalDecisionStatus::Vetoed, 1),
+                ProposalStatus::finalized_successfully(ProposalDecisionStatus::Vetoed, 1),
             ),
         ]);
     });
@@ -765,7 +765,7 @@ fn create_proposal_and_expire_it() {
                 parameters: parameters_fixture.params(),
                 proposer_id: 1,
                 created_at: 1,
-                status: ProposalStatus::finalized(ProposalDecisionStatus::Expired, 4),
+                status: ProposalStatus::finalized_successfully(ProposalDecisionStatus::Expired, 4),
                 title: b"title".to_vec(),
                 description: b"description".to_vec(),
                 voting_results: VotingResults::default(),
@@ -1282,7 +1282,7 @@ fn finalize_proposal_using_stake_mocks_failed() {
                     parameters: parameters_fixture.params(),
                     proposer_id: 1,
                     created_at: 1,
-                    status: ProposalStatus::finalized_with_error(
+                    status: ProposalStatus::finalized(
                         ProposalDecisionStatus::Expired,
                         Some("Cannot remove stake"),
                         Some(ActiveStake {

+ 2 - 2
runtime-modules/proposals/engine/src/types/mod.rs

@@ -389,7 +389,7 @@ mod tests {
         let mut proposal = ProposalObject::default();
 
         proposal.parameters.grace_period = 3;
-        proposal.status = ProposalStatus::finalized(
+        proposal.status = ProposalStatus::finalized_successfully(
             ProposalDecisionStatus::Approved(ApprovedProposalStatus::PendingExecution),
             0,
         );
@@ -402,7 +402,7 @@ mod tests {
         let mut proposal = ProposalObject::default();
 
         proposal.parameters.grace_period = 0;
-        proposal.status = ProposalStatus::finalized(
+        proposal.status = ProposalStatus::finalized_successfully(
             ProposalDecisionStatus::Approved(ApprovedProposalStatus::PendingExecution),
             0,
         );

+ 10 - 4
runtime-modules/proposals/engine/src/types/proposal_statuses.rs

@@ -24,26 +24,32 @@ impl<BlockNumber, StakeId, AccountId> Default for ProposalStatus<BlockNumber, St
 
 impl<BlockNumber, StakeId, AccountId> ProposalStatus<BlockNumber, StakeId, AccountId> {
     /// Creates finalized proposal status with provided ProposalDecisionStatus
-    pub fn finalized(
+    pub fn finalized_successfully(
         decision_status: ProposalDecisionStatus,
         now: BlockNumber,
     ) -> ProposalStatus<BlockNumber, StakeId, AccountId> {
-        Self::finalized_with_error(decision_status, None, None, now)
+        Self::finalized(decision_status, None, None, now)
     }
 
     /// Creates finalized proposal status with provided ProposalDecisionStatus and error
-    pub fn finalized_with_error(
+    pub fn finalized(
         decision_status: ProposalDecisionStatus,
         encoded_unstaking_error_due_to_broken_runtime: Option<&str>,
         active_stake: Option<ActiveStake<StakeId, AccountId>>,
         now: BlockNumber,
     ) -> ProposalStatus<BlockNumber, StakeId, AccountId> {
+        // drop the stake information if there were no errors on unstaking
+        let actual_stake = if encoded_unstaking_error_due_to_broken_runtime.is_some() {
+            active_stake
+        } else {
+            None
+        };
         ProposalStatus::Finalized(FinalizationData {
             proposal_status: decision_status,
             encoded_unstaking_error_due_to_broken_runtime:
                 encoded_unstaking_error_due_to_broken_runtime.map(|err| err.as_bytes().to_vec()),
             finalized_at: now,
-            stake_data_after_unstaking_error: active_stake,
+            stake_data_after_unstaking_error: actual_stake,
         })
     }