The more recent budgets show first. The current budget will only show the amount of sent investments until the winner's phase.
30 lines
1.2 KiB
Ruby
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
|