Files
grecia/spec/components/admin/stats/sdg/goal_component_spec.rb
Senén Rodero Rodríguez ebe8903c75 Investment projects statistics by participatory budget
The more recent budgets show first.

The current budget will only show the amount of sent investments
until the winner's phase.
2021-02-26 14:08:45 +01:00

30 lines
1.2 KiB
Ruby

require "rails_helper"
describe Admin::Stats::SDG::GoalComponent, type: :component do
let(:component) { Admin::Stats::SDG::GoalComponent.new(goal: goal) }
let(:goal) { SDG::Goal.sample }
it "shows goal stats" do
create_list(:poll, 2, sdg_goals: [goal])
create_list(:proposal, 3, sdg_goals: [goal])
create_list(:debate, 1, sdg_goals: [goal])
past = create(:budget, name: "Past year budget")
create_list(:budget_investment, 1, :winner, sdg_goals: [goal], price: 1000, budget: past)
current = create(:budget, name: "Current budget")
create_list(:budget_investment, 2, sdg_goals: [goal], price: 1000, budget: current)
render_inline component
expect(page).to have_text "Proposals 3"
expect(page).to have_text "Polls 2"
expect(page).to have_text "Debates 1"
expect("Current budget").to appear_before("Past year budget")
expect(page).to have_text "Investment projects sent 2"
expect(page).to have_text "Winner investment projects 0"
expect(page).to have_text "Approved amount $0"
expect(page).to have_text "Investment projects sent 1"
expect(page).to have_text "Winner investment projects 1"
expect(page).to have_text "Approved amount $1,000"
end
end