diff --git a/app/models/budget/stats.rb b/app/models/budget/stats.rb index 7b2e91e74..3f834fe5b 100644 --- a/app/models/budget/stats.rb +++ b/app/models/budget/stats.rb @@ -33,7 +33,7 @@ class Budget::Stats end def total_participants_vote_phase - balloters.uniq.count + (balloters + poll_ballot_voters).uniq.count end def total_budget_investments diff --git a/spec/models/budget/stats_spec.rb b/spec/models/budget/stats_spec.rb index 8eb18ae14..6868434b1 100644 --- a/spec/models/budget/stats_spec.rb +++ b/spec/models/budget/stats_spec.rb @@ -70,6 +70,21 @@ describe Budget::Stats do expect(stats.generate[:total_participants_vote_phase]).to be 1 end + it "includes balloters and poll balloters" do + create(:budget_ballot_line, investment: investment) + create(:poll_voter, :from_booth, budget: budget) + + expect(stats.generate[:total_participants_vote_phase]).to be 2 + end + + it "counts once a user who is balloter and poll balloter" do + poller_and_balloter = create(:user, :level_two) + create(:budget_ballot_line, investment: investment, user: poller_and_balloter) + create(:poll_voter, :from_booth, user: poller_and_balloter, budget: budget) + + expect(stats.generate[:total_participants_vote_phase]).to be 1 + end + it "doesn't count nil user ids" do create(:budget_ballot_line, investment: investment, ballot: create(:budget_ballot, budget: budget, user: nil, physical: true)