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