Use budget investments in useful specs
This commit is contained in:
@@ -56,7 +56,7 @@
|
||||
<td class="border-left">
|
||||
<strong><%= heading.name %></strong>
|
||||
</td>
|
||||
<td id="total_spending_proposals_heading_<%= heading.id %>"
|
||||
<td id="total_investments_heading_<%= heading.id %>"
|
||||
class="text-center border-left border-right">
|
||||
<%= stats.headings[heading.id][:total_investments_count] %>
|
||||
</td>
|
||||
|
||||
@@ -11,7 +11,7 @@ describe "Admin feature flags" do
|
||||
visit admin_root_path
|
||||
|
||||
within("#side_menu") do
|
||||
expect(page).to have_link "Spending proposals"
|
||||
expect(page).to have_link "Participatory budgets"
|
||||
expect(page).to have_link "Hidden debates"
|
||||
end
|
||||
end
|
||||
@@ -66,7 +66,7 @@ describe "Admin feature flags" do
|
||||
end
|
||||
|
||||
scenario "Disable a feature" do
|
||||
setting = Setting.find_by(key: "feature.spending_proposals")
|
||||
setting = Setting.find_by(key: "feature.twitter_login")
|
||||
|
||||
visit admin_settings_path
|
||||
|
||||
|
||||
@@ -1297,13 +1297,13 @@ describe "Budget Investments" do
|
||||
|
||||
scenario "Author can destroy while on the accepting phase" do
|
||||
user = create(:user, :level_two)
|
||||
sp1 = create(:budget_investment, heading: heading, price: 10000, author: user)
|
||||
investment1 = create(:budget_investment, heading: heading, price: 10000, author: user)
|
||||
|
||||
login_as(user)
|
||||
visit user_path(user, tab: :budget_investments)
|
||||
|
||||
within("#budget_investment_#{sp1.id}") do
|
||||
expect(page).to have_content(sp1.title)
|
||||
within("#budget_investment_#{investment1.id}") do
|
||||
expect(page).to have_content(investment1.title)
|
||||
click_link("Delete")
|
||||
end
|
||||
|
||||
@@ -1466,8 +1466,8 @@ describe "Budget Investments" do
|
||||
|
||||
scenario "Index" do
|
||||
user = create(:user, :level_two)
|
||||
sp1 = create(:budget_investment, :selected, heading: heading, price: 10000)
|
||||
sp2 = create(:budget_investment, :selected, heading: heading, price: 20000)
|
||||
investment1 = create(:budget_investment, :selected, heading: heading, price: 10000)
|
||||
investment2 = create(:budget_investment, :selected, heading: heading, price: 20000)
|
||||
|
||||
login_as(user)
|
||||
visit root_path
|
||||
@@ -1476,13 +1476,13 @@ describe "Budget Investments" do
|
||||
|
||||
click_link "More hospitals €666,666"
|
||||
|
||||
within("#budget_investment_#{sp1.id}") do
|
||||
expect(page).to have_content sp1.title
|
||||
within("#budget_investment_#{investment1.id}") do
|
||||
expect(page).to have_content investment1.title
|
||||
expect(page).to have_content "€10,000"
|
||||
end
|
||||
|
||||
within("#budget_investment_#{sp2.id}") do
|
||||
expect(page).to have_content sp2.title
|
||||
within("#budget_investment_#{investment2.id}") do
|
||||
expect(page).to have_content investment2.title
|
||||
expect(page).to have_content "€20,000"
|
||||
end
|
||||
end
|
||||
@@ -1510,12 +1510,12 @@ describe "Budget Investments" do
|
||||
|
||||
scenario "Show" do
|
||||
user = create(:user, :level_two)
|
||||
sp1 = create(:budget_investment, :selected, heading: heading, price: 10000)
|
||||
investment = create(:budget_investment, :selected, heading: heading, price: 10000)
|
||||
|
||||
login_as(user)
|
||||
visit budget_investments_path(budget, heading_id: heading.id)
|
||||
|
||||
click_link sp1.title
|
||||
click_link investment.title
|
||||
|
||||
expect(page).to have_content "€10,000"
|
||||
end
|
||||
@@ -1541,12 +1541,12 @@ describe "Budget Investments" do
|
||||
new_york_heading = create(:budget_heading, group: group, name: "New York",
|
||||
latitude: -43.223412, longitude: 12.009423)
|
||||
|
||||
sp1 = create(:budget_investment, :selected, price: 1, heading: global_heading)
|
||||
sp2 = create(:budget_investment, :selected, price: 10, heading: global_heading)
|
||||
sp3 = create(:budget_investment, :selected, price: 100, heading: global_heading)
|
||||
sp4 = create(:budget_investment, :selected, price: 1000, heading: carabanchel_heading)
|
||||
sp5 = create(:budget_investment, :selected, price: 10000, heading: carabanchel_heading)
|
||||
sp6 = create(:budget_investment, :selected, price: 100000, heading: new_york_heading)
|
||||
investment1 = create(:budget_investment, :selected, price: 1, heading: global_heading)
|
||||
investment2 = create(:budget_investment, :selected, price: 10, heading: global_heading)
|
||||
investment3 = create(:budget_investment, :selected, price: 100, heading: global_heading)
|
||||
investment4 = create(:budget_investment, :selected, price: 1000, heading: carabanchel_heading)
|
||||
investment5 = create(:budget_investment, :selected, price: 10000, heading: carabanchel_heading)
|
||||
investment6 = create(:budget_investment, :selected, price: 100000, heading: new_york_heading)
|
||||
|
||||
login_as(user)
|
||||
visit budget_path(budget)
|
||||
@@ -1555,16 +1555,16 @@ describe "Budget Investments" do
|
||||
# No need to click_link "Global Heading" because the link of a group with a single heading
|
||||
# points to the list of investments directly
|
||||
|
||||
add_to_ballot(sp1)
|
||||
add_to_ballot(sp2)
|
||||
add_to_ballot(investment1)
|
||||
add_to_ballot(investment2)
|
||||
|
||||
visit budget_path(budget)
|
||||
|
||||
click_link "Health"
|
||||
click_link "Carabanchel"
|
||||
|
||||
add_to_ballot(sp4)
|
||||
add_to_ballot(sp5)
|
||||
add_to_ballot(investment4)
|
||||
add_to_ballot(investment5)
|
||||
|
||||
visit budget_ballot_path(budget)
|
||||
|
||||
@@ -1572,24 +1572,24 @@ describe "Budget Investments" do
|
||||
"until this phase is closed."
|
||||
|
||||
within("#budget_group_#{global_group.id}") do
|
||||
expect(page).to have_content sp1.title
|
||||
expect(page).to have_content "€#{sp1.price}"
|
||||
expect(page).to have_content investment1.title
|
||||
expect(page).to have_content "€#{investment1.price}"
|
||||
|
||||
expect(page).to have_content sp2.title
|
||||
expect(page).to have_content "€#{sp2.price}"
|
||||
expect(page).to have_content investment2.title
|
||||
expect(page).to have_content "€#{investment2.price}"
|
||||
|
||||
expect(page).not_to have_content sp3.title
|
||||
expect(page).not_to have_content "€#{sp3.price}"
|
||||
expect(page).not_to have_content investment3.title
|
||||
expect(page).not_to have_content "€#{investment3.price}"
|
||||
end
|
||||
|
||||
within("#budget_group_#{group.id}") do
|
||||
expect(page).to have_content sp4.title
|
||||
expect(page).to have_content investment4.title
|
||||
expect(page).to have_content "€1,000"
|
||||
|
||||
expect(page).to have_content sp5.title
|
||||
expect(page).to have_content investment5.title
|
||||
expect(page).to have_content "€10,000"
|
||||
|
||||
expect(page).not_to have_content sp6.title
|
||||
expect(page).not_to have_content investment6.title
|
||||
expect(page).not_to have_content "€100,000"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -38,7 +38,7 @@ describe "Votes" do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Create from spending proposal index", :js do
|
||||
scenario "Create from investments' index", :js do
|
||||
create(:budget_investment, heading: heading, budget: budget)
|
||||
|
||||
visit budget_investments_path(budget, heading_id: heading.id)
|
||||
@@ -53,7 +53,7 @@ describe "Votes" do
|
||||
end
|
||||
end
|
||||
|
||||
describe "Single spending proposal" do
|
||||
describe "Single investment" do
|
||||
let(:investment) { create(:budget_investment, budget: budget, heading: heading)}
|
||||
|
||||
scenario "Show no votes" do
|
||||
@@ -72,7 +72,7 @@ describe "Votes" do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Create from proposal show", :js do
|
||||
scenario "Create from investment show", :js do
|
||||
visit budget_investment_path(budget, investment)
|
||||
|
||||
within(".supports") do
|
||||
@@ -85,7 +85,7 @@ describe "Votes" do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Disable voting on spending proposals", :js do
|
||||
scenario "Disable voting on investments", :js do
|
||||
manuela = create(:user, verified_at: Time.current)
|
||||
|
||||
login_as(manuela)
|
||||
|
||||
@@ -2,17 +2,17 @@ require "rails_helper"
|
||||
|
||||
describe GeozonesHelper do
|
||||
|
||||
describe "#geozones_name" do
|
||||
describe "#geozone_name" do
|
||||
let(:geozone) { create :geozone }
|
||||
|
||||
it "returns geozone name if present" do
|
||||
spending_proposal = create(:spending_proposal, geozone: geozone)
|
||||
expect(geozone_name(spending_proposal)).to eq geozone.name
|
||||
proposal = create(:proposal, geozone: geozone)
|
||||
expect(geozone_name(proposal)).to eq geozone.name
|
||||
end
|
||||
|
||||
it "returns default string for no geozone if geozone is blank" do
|
||||
spending_proposal = create(:spending_proposal, geozone: nil)
|
||||
expect(geozone_name(spending_proposal)).to eq "All city"
|
||||
proposal = create(:proposal, geozone: nil)
|
||||
expect(geozone_name(proposal)).to eq "All city"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -106,15 +106,15 @@ describe ActsAsTaggableOn do
|
||||
tag_3 = create(:tag)
|
||||
|
||||
proposal = create(:proposal)
|
||||
spending_proposal = create(:spending_proposal)
|
||||
budget_investment = create(:budget_investment)
|
||||
debate = create(:debate)
|
||||
|
||||
proposal.tag_list.add(tag_1)
|
||||
spending_proposal.tag_list.add(tag_2)
|
||||
budget_investment.tag_list.add(tag_2)
|
||||
debate.tag_list.add(tag_3)
|
||||
|
||||
proposal.save
|
||||
spending_proposal.save
|
||||
budget_investment.save
|
||||
debate.save
|
||||
|
||||
expect(ActsAsTaggableOn::Tag.public_for_api).to match_array([tag_1, tag_3])
|
||||
|
||||
@@ -296,7 +296,7 @@ describe "Consul Schema" do
|
||||
proposal_comment = create(:comment, commentable: create(:proposal))
|
||||
debate_comment = create(:comment, commentable: create(:debate))
|
||||
poll_comment = create(:comment, commentable: create(:poll))
|
||||
spending_proposal_comment = build(:comment, commentable: create(:spending_proposal)).save(skip_validation: true)
|
||||
budget_investment_comment = build(:comment, commentable: create(:budget_investment)).save(skip_validation: true)
|
||||
|
||||
response = execute("{ comments { edges { node { commentable_type } } } }")
|
||||
received_commentables = extract_fields(response, "comments", "commentable_type")
|
||||
@@ -584,12 +584,12 @@ describe "Consul Schema" do
|
||||
proposal = create(:proposal)
|
||||
debate = create(:debate)
|
||||
comment = create(:comment)
|
||||
spending_proposal = create(:spending_proposal)
|
||||
budget_investment = create(:budget_investment)
|
||||
|
||||
proposal_vote = create(:vote, votable: proposal)
|
||||
debate_vote = create(:vote, votable: debate)
|
||||
comment_vote = create(:vote, votable: comment)
|
||||
spending_proposal_vote = create(:vote, votable: spending_proposal)
|
||||
budget_investment_vote = create(:vote, votable: budget_investment)
|
||||
|
||||
response = execute("{ votes { edges { node { votable_type } } } }")
|
||||
received_votables = extract_fields(response, "votes", "votable_type")
|
||||
|
||||
@@ -14,7 +14,7 @@ describe SignatureSheet do
|
||||
signature_sheet.signable = create(:proposal)
|
||||
expect(signature_sheet).to be_valid
|
||||
|
||||
signature_sheet.signable = create(:spending_proposal)
|
||||
signature_sheet.signable = create(:budget_investment)
|
||||
expect(signature_sheet).to be_valid
|
||||
end
|
||||
|
||||
|
||||
@@ -101,8 +101,8 @@ describe Vote do
|
||||
end
|
||||
|
||||
it "blocks any other kind of votes" do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
vote = create(:vote, votable: spending_proposal)
|
||||
budget_investment = create(:budget_investment)
|
||||
vote = create(:vote, votable: budget_investment)
|
||||
|
||||
expect(described_class.public_for_api).not_to include(vote)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user