31 lines
1.1 KiB
Ruby
31 lines
1.1 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Admin::BudgetHeadings::HeadingsComponent, :admin do
|
|
it "includes group name in the message when there are no headings" do
|
|
group = create(:budget_group, name: "Whole planet")
|
|
|
|
render_inline Admin::BudgetHeadings::HeadingsComponent.new(group.headings)
|
|
|
|
expect(page.text.strip).to eq "There are no headings in the Whole planet group."
|
|
expect(page).to have_css "strong", exact_text: "Whole planet"
|
|
end
|
|
|
|
describe "#geozone_for" do
|
|
it "shows the geozone associated to the heading" do
|
|
heading = create(:budget_heading, name: "Local", geozone: create(:geozone, name: "Here"))
|
|
|
|
render_inline Admin::BudgetHeadings::HeadingsComponent.new(heading.group.headings)
|
|
|
|
expect(page.find("tr", text: "Local")).to have_content "Here"
|
|
end
|
|
|
|
it "shows a generic location for headings with no associated geozone" do
|
|
heading = create(:budget_heading, name: "Universal", geozone: nil)
|
|
|
|
render_inline Admin::BudgetHeadings::HeadingsComponent.new(heading.group.headings)
|
|
|
|
expect(page.find("tr", text: "Universal")).to have_content "All city"
|
|
end
|
|
end
|
|
end
|