Use budget phase traits
We were already using them in many places, but not everywhere.
This commit is contained in:
@@ -5,10 +5,10 @@ describe ApplicationController do
|
||||
describe "#current_budget" do
|
||||
|
||||
it "returns the last budget that is not in draft phase" do
|
||||
old_budget = create(:budget, phase: "finished", created_at: 2.years.ago)
|
||||
previous_budget = create(:budget, phase: "accepting", created_at: 1.year.ago)
|
||||
current_budget = create(:budget, phase: "accepting", created_at: 1.month.ago)
|
||||
next_budget = create(:budget, phase: "drafting", created_at: 1.week.ago)
|
||||
old_budget = create(:budget, :finished, created_at: 2.years.ago)
|
||||
previous_budget = create(:budget, :accepting, created_at: 1.year.ago)
|
||||
current_budget = create(:budget, :accepting, created_at: 1.month.ago)
|
||||
next_budget = create(:budget, :drafting, created_at: 1.week.ago)
|
||||
|
||||
budget = subject.instance_eval { current_budget }
|
||||
expect(budget).to eq(current_budget)
|
||||
|
||||
@@ -2,7 +2,7 @@ require "rails_helper"
|
||||
|
||||
describe "Admin budget groups" do
|
||||
|
||||
let(:budget) { create(:budget, phase: "drafting") }
|
||||
let(:budget) { create(:budget, :drafting) }
|
||||
|
||||
before do
|
||||
admin = create(:administrator)
|
||||
|
||||
@@ -2,7 +2,7 @@ require "rails_helper"
|
||||
|
||||
describe "Admin budget headings" do
|
||||
|
||||
let(:budget) { create(:budget, phase: "drafting") }
|
||||
let(:budget) { create(:budget, :drafting) }
|
||||
let(:group) { create(:budget_group, budget: budget) }
|
||||
|
||||
before do
|
||||
|
||||
@@ -264,7 +264,7 @@ describe "Admin budgets" do
|
||||
context "Calculate Budget's Winner Investments" do
|
||||
|
||||
scenario "For a Budget in reviewing balloting", :js do
|
||||
budget = create(:budget, phase: "reviewing_ballots")
|
||||
budget = create(:budget, :reviewing_ballots)
|
||||
heading = create(:budget_heading, budget: budget, price: 4)
|
||||
unselected = create(:budget_investment, :unselected, heading: heading, price: 1,
|
||||
ballot_lines_count: 3)
|
||||
|
||||
@@ -260,7 +260,7 @@ describe "Admin download settings" do
|
||||
end
|
||||
|
||||
context "Download budgets" do
|
||||
let(:budget_finished) { create(:budget, phase: "finished") }
|
||||
let(:budget_finished) { create(:budget, :finished) }
|
||||
let(:heading) { create(:budget_heading, budget: budget_finished, price: 1000) }
|
||||
|
||||
let(:investment1) { create(:budget_investment,
|
||||
|
||||
@@ -3,7 +3,7 @@ require "rails_helper"
|
||||
describe "Ballots" do
|
||||
|
||||
let!(:user) { create(:user, :level_two) }
|
||||
let!(:budget) { create(:budget, phase: "balloting") }
|
||||
let!(:budget) { create(:budget, :balloting) }
|
||||
let!(:states) { create(:budget_group, budget: budget, name: "States") }
|
||||
let!(:california) { create(:budget_heading, group: states, name: "California", price: 1000) }
|
||||
let!(:new_york) { create(:budget_heading, group: states, name: "New York", price: 1000000) }
|
||||
|
||||
@@ -4,7 +4,7 @@ describe "Votes" do
|
||||
|
||||
describe "Investments" do
|
||||
let(:manuela) { create(:user, verified_at: Time.current) }
|
||||
let(:budget) { create(:budget, phase: "selecting") }
|
||||
let(:budget) { create(:budget, :selecting) }
|
||||
let(:group) { create(:budget_group, budget: budget) }
|
||||
let(:heading) { create(:budget_heading, group: group) }
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ require "rails_helper"
|
||||
describe "Budget Investments" do
|
||||
|
||||
let(:manager) { create(:manager) }
|
||||
let(:budget) { create(:budget, phase: "selecting", name: "2033", slug: "budget_slug") }
|
||||
let(:budget) { create(:budget, :selecting, name: "2033", slug: "budget_slug") }
|
||||
let(:group) { create(:budget_group, budget: budget, name: "Whole city") }
|
||||
let(:heading) { create(:budget_heading, group: group, name: "Health") }
|
||||
|
||||
@@ -208,13 +208,13 @@ describe "Budget Investments" do
|
||||
end
|
||||
|
||||
scenario "Listing - managers can see budgets in accepting phase" do
|
||||
accepting_budget = create(:budget, phase: "accepting")
|
||||
reviewing_budget = create(:budget, phase: "reviewing")
|
||||
selecting_budget = create(:budget, phase: "selecting")
|
||||
valuating_budget = create(:budget, phase: "valuating")
|
||||
balloting_budget = create(:budget, phase: "balloting")
|
||||
reviewing_ballots_budget = create(:budget, phase: "reviewing_ballots")
|
||||
finished = create(:budget, phase: "finished")
|
||||
accepting_budget = create(:budget, :accepting)
|
||||
reviewing_budget = create(:budget, :reviewing)
|
||||
selecting_budget = create(:budget, :selecting)
|
||||
valuating_budget = create(:budget, :valuating)
|
||||
balloting_budget = create(:budget, :balloting)
|
||||
reviewing_ballots_budget = create(:budget, :reviewing_ballots)
|
||||
finished = create(:budget, :finished)
|
||||
|
||||
user = create(:user, :level_two)
|
||||
login_managed_user(user)
|
||||
@@ -232,13 +232,13 @@ describe "Budget Investments" do
|
||||
end
|
||||
|
||||
scenario "Listing - admins can see budgets in accepting, reviewing and selecting phases" do
|
||||
accepting_budget = create(:budget, phase: "accepting")
|
||||
reviewing_budget = create(:budget, phase: "reviewing")
|
||||
selecting_budget = create(:budget, phase: "selecting")
|
||||
valuating_budget = create(:budget, phase: "valuating")
|
||||
balloting_budget = create(:budget, phase: "balloting")
|
||||
reviewing_ballots_budget = create(:budget, phase: "reviewing_ballots")
|
||||
finished = create(:budget, phase: "finished")
|
||||
accepting_budget = create(:budget, :accepting)
|
||||
reviewing_budget = create(:budget, :reviewing)
|
||||
selecting_budget = create(:budget, :selecting)
|
||||
valuating_budget = create(:budget, :valuating)
|
||||
balloting_budget = create(:budget, :balloting)
|
||||
reviewing_ballots_budget = create(:budget, :reviewing_ballots)
|
||||
finished = create(:budget, :finished)
|
||||
|
||||
visit root_path
|
||||
click_link "Sign out"
|
||||
|
||||
@@ -116,7 +116,7 @@ describe "Users" do
|
||||
|
||||
scenario "Show alert when user wants to delete a budget investment", :js do
|
||||
user = create(:user, :level_two)
|
||||
budget = create(:budget, phase: "accepting")
|
||||
budget = create(:budget, :accepting)
|
||||
budget_investment = create(:budget_investment, author_id: user.id, budget: budget)
|
||||
|
||||
login_as(user)
|
||||
|
||||
@@ -76,8 +76,8 @@ describe Abilities::Administrator do
|
||||
it { should be_able_to(:update, Budget::Investment) }
|
||||
it { should be_able_to(:hide, Budget::Investment) }
|
||||
|
||||
it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: "valuating"))) }
|
||||
it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: "finished"))) }
|
||||
it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, :valuating))) }
|
||||
it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, :finished))) }
|
||||
|
||||
it { should be_able_to(:destroy, proposal_image) }
|
||||
it { should be_able_to(:destroy, proposal_document) }
|
||||
|
||||
@@ -15,10 +15,10 @@ describe Abilities::Common do
|
||||
let(:own_comment) { create(:comment, author: user) }
|
||||
let(:own_proposal) { create(:proposal, author: user) }
|
||||
|
||||
let(:accepting_budget) { create(:budget, phase: "accepting") }
|
||||
let(:reviewing_budget) { create(:budget, phase: "reviewing") }
|
||||
let(:selecting_budget) { create(:budget, phase: "selecting") }
|
||||
let(:balloting_budget) { create(:budget, phase: "balloting") }
|
||||
let(:accepting_budget) { create(:budget, :accepting) }
|
||||
let(:reviewing_budget) { create(:budget, :reviewing) }
|
||||
let(:selecting_budget) { create(:budget, :selecting) }
|
||||
let(:balloting_budget) { create(:budget, :balloting) }
|
||||
|
||||
let(:investment_in_accepting_budget) { create(:budget_investment, budget: accepting_budget) }
|
||||
let(:investment_in_reviewing_budget) { create(:budget_investment, budget: reviewing_budget) }
|
||||
|
||||
@@ -71,7 +71,7 @@ describe Abilities::Everyone do
|
||||
|
||||
context "when accessing budget results" do
|
||||
context "budget is not finished" do
|
||||
let(:budget) { create(:budget, phase: "reviewing_ballots", results_enabled: true) }
|
||||
let(:budget) { create(:budget, :reviewing_ballots, results_enabled: true) }
|
||||
|
||||
it { should_not be_able_to(:read_results, budget) }
|
||||
end
|
||||
@@ -91,19 +91,19 @@ describe Abilities::Everyone do
|
||||
|
||||
context "when accessing budget stats" do
|
||||
context "supports phase is not finished" do
|
||||
let(:budget) { create(:budget, phase: "selecting", stats_enabled: true) }
|
||||
let(:budget) { create(:budget, :selecting, stats_enabled: true) }
|
||||
|
||||
it { should_not be_able_to(:read_stats, budget) }
|
||||
end
|
||||
|
||||
context "supports phase is finished" do
|
||||
let(:budget) { create(:budget, phase: "valuating", stats_enabled: true) }
|
||||
let(:budget) { create(:budget, :valuating, stats_enabled: true) }
|
||||
|
||||
it { should be_able_to(:read_stats, budget) }
|
||||
end
|
||||
|
||||
context "stats disabled" do
|
||||
let(:budget) { create(:budget, phase: "valuating", stats_enabled: false) }
|
||||
let(:budget) { create(:budget, :valuating, stats_enabled: false) }
|
||||
|
||||
it { should_not be_able_to(:read_stats, budget) }
|
||||
end
|
||||
|
||||
@@ -8,9 +8,9 @@ describe Abilities::Valuator do
|
||||
let(:valuator) { create(:valuator) }
|
||||
let(:group) { create(:valuator_group) }
|
||||
let(:non_assigned_investment) { create(:budget_investment) }
|
||||
let(:assigned_investment) { create(:budget_investment, budget: create(:budget, phase: "valuating")) }
|
||||
let(:group_assigned_investment) { create(:budget_investment, budget: create(:budget, phase: "valuating")) }
|
||||
let(:finished_assigned_investment) { create(:budget_investment, budget: create(:budget, phase: "finished")) }
|
||||
let(:assigned_investment) { create(:budget_investment, budget: create(:budget, :valuating)) }
|
||||
let(:group_assigned_investment) { create(:budget_investment, budget: create(:budget, :valuating)) }
|
||||
let(:finished_assigned_investment) { create(:budget_investment, budget: create(:budget, :finished)) }
|
||||
|
||||
before do
|
||||
assigned_investment.valuators << valuator
|
||||
|
||||
@@ -130,7 +130,7 @@ describe Budget::Investment do
|
||||
|
||||
describe "#should_show_votes?" do
|
||||
it "returns true in selecting phase" do
|
||||
budget = create(:budget, phase: "selecting")
|
||||
budget = create(:budget, :selecting)
|
||||
investment = create(:budget_investment, budget: budget)
|
||||
|
||||
expect(investment.should_show_votes?).to eq(true)
|
||||
@@ -148,7 +148,7 @@ describe Budget::Investment do
|
||||
|
||||
describe "#should_show_vote_count?" do
|
||||
it "returns true in valuating phase" do
|
||||
budget = create(:budget, phase: "valuating")
|
||||
budget = create(:budget, :valuating)
|
||||
investment = create(:budget_investment, budget: budget)
|
||||
|
||||
expect(investment.should_show_vote_count?).to eq(true)
|
||||
@@ -166,14 +166,14 @@ describe Budget::Investment do
|
||||
|
||||
describe "#should_show_ballots?" do
|
||||
it "returns true in balloting phase for selected investments" do
|
||||
budget = create(:budget, phase: "balloting")
|
||||
budget = create(:budget, :balloting)
|
||||
investment = create(:budget_investment, :selected, budget: budget)
|
||||
|
||||
expect(investment.should_show_ballots?).to eq(true)
|
||||
end
|
||||
|
||||
it "returns false for unselected investments" do
|
||||
budget = create(:budget, phase: "balloting")
|
||||
budget = create(:budget, :balloting)
|
||||
investment = create(:budget_investment, :unselected, budget: budget)
|
||||
|
||||
expect(investment.should_show_ballots?).to eq(false)
|
||||
@@ -1050,7 +1050,7 @@ describe Budget::Investment do
|
||||
|
||||
describe "Reclassification" do
|
||||
|
||||
let(:budget) { create(:budget, phase: "balloting") }
|
||||
let(:budget) { create(:budget, :balloting) }
|
||||
let(:group) { create(:budget_group, budget: budget) }
|
||||
let(:heading1) { create(:budget_heading, group: group) }
|
||||
let(:heading2) { create(:budget_heading, group: group) }
|
||||
@@ -1189,7 +1189,7 @@ describe Budget::Investment do
|
||||
end
|
||||
|
||||
describe "scoped_filter" do
|
||||
let(:budget) { create(:budget, phase: "balloting") }
|
||||
let(:budget) { create(:budget, :balloting) }
|
||||
let(:investment) { create(:budget_investment, budget: budget) }
|
||||
|
||||
describe "with without_admin filter" do
|
||||
|
||||
@@ -154,22 +154,22 @@ describe Budget do
|
||||
describe "#current" do
|
||||
|
||||
it "returns nil if there is only one budget and it is still in drafting phase" do
|
||||
budget = create(:budget, phase: "drafting")
|
||||
create(:budget, :drafting)
|
||||
|
||||
expect(Budget.current).to eq(nil)
|
||||
end
|
||||
|
||||
it "returns the budget if there is only one and not in drafting phase" do
|
||||
budget = create(:budget, phase: "accepting")
|
||||
budget = create(:budget, :accepting)
|
||||
|
||||
expect(Budget.current).to eq(budget)
|
||||
end
|
||||
|
||||
it "returns the last budget created that is not in drafting phase" do
|
||||
old_budget = create(:budget, phase: "finished", created_at: 2.years.ago)
|
||||
previous_budget = create(:budget, phase: "accepting", created_at: 1.year.ago)
|
||||
current_budget = create(:budget, phase: "accepting", created_at: 1.month.ago)
|
||||
next_budget = create(:budget, phase: "drafting", created_at: 1.week.ago)
|
||||
old_budget = create(:budget, :finished, created_at: 2.years.ago)
|
||||
previous_budget = create(:budget, :accepting, created_at: 1.year.ago)
|
||||
current_budget = create(:budget, :accepting, created_at: 1.month.ago)
|
||||
next_budget = create(:budget, :drafting, created_at: 1.week.ago)
|
||||
|
||||
expect(Budget.current).to eq(current_budget)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user