From b4c7675c31969c3fa70cb8261748c79b94bde935 Mon Sep 17 00:00:00 2001 From: kikito Date: Wed, 7 Sep 2016 15:58:39 +0200 Subject: [PATCH] imports votes --- lib/spending_proposals_importer.rb | 4 ++++ spec/lib/spending_proposals_importer_spec.rb | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/spending_proposals_importer.rb b/lib/spending_proposals_importer.rb index 5641c082b..9fe6dfa32 100644 --- a/lib/spending_proposals_importer.rb +++ b/lib/spending_proposals_importer.rb @@ -51,6 +51,10 @@ class SpendingProposalsImporter investment.valuators = sp.valuation_assignments.map(&:valuator) + votes = ActsAsVotable::Vote.where(votable_type: 'SpendingProposal', votable_id: sp.id) + + votes.each {|v| investment.vote_by({voter: v.voter, vote: 'yes'}) } + investment end diff --git a/spec/lib/spending_proposals_importer_spec.rb b/spec/lib/spending_proposals_importer_spec.rb index 598e028e3..d8cb50082 100644 --- a/spec/lib/spending_proposals_importer_spec.rb +++ b/spec/lib/spending_proposals_importer_spec.rb @@ -74,5 +74,19 @@ describe SpendingProposalsImporter do expect(inv.valuators).to include(peter) expect(inv.valuators).to include(john) end + + it "Imports votes" do + sp = create(:spending_proposal) + votes = create_list(:vote, 4, votable: sp) + voters = votes.map(&:voter).sort_by(&:id) + + inv = importer.import(sp) + + expect(inv.total_votes).to eq(sp.total_votes) + + imported_votes = ActsAsVotable::Vote.where(votable_type: "Budget::Investment", votable_id: inv.id) + + expect(imported_votes.map(&:voter).sort_by(&:id)).to eq(voters) + end end end