spec/components/admin/stats/sdg/goal_component_spec.rb
require "rails_helper"
describe Admin::Stats::SDG::GoalComponent 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