Files
grecia/spec/factories/administration.rb
Matheus Miranda de13e789dd Add polygon geographies to Budgets' map
Note that in the budgets wizard test we now create district with no
associated geozone, so the text "all city" will appear in the districts
table too, meaning we can't use `within "section", text: "All city" do`
anymore since it would result in an ambiguous match.

Co-Authored-By: Julian Herrero <microweb10@gmail.com>
Co-Authored-By: Javi Martín <javim@elretirao.net>
2023-05-31 16:56:15 +02:00

120 lines
3.0 KiB
Ruby

FactoryBot.define do
factory :setting do
sequence(:key) { |n| "Setting Key #{n}" }
sequence(:value) { |n| "Setting #{n} Value" }
end
factory :geozone do
sequence(:name) { |n| "District #{n}" }
sequence(:external_code, &:to_s)
sequence(:census_code, &:to_s)
color { "#0081aa" }
trait :in_census do
census_code { "01" }
end
trait :with_html_coordinates do
html_map_coordinates { "30,139,45,153,77,148,107,165" }
end
trait :with_geojson do
geojson { '{ "geometry": { "type": "Polygon", "coordinates": [[-0.117,51.513],[-0.118,51.512],[-0.119,51.514]] } }' }
end
end
factory :banner do
sequence(:title) { |n| "Banner title #{n}" }
sequence(:description) { |n| "This is the text of Banner #{n}" }
target_url { ["/proposals", "/debates"].sample }
post_started_at { Date.current - 7.days }
post_ended_at { Date.current + 7.days }
background_color { "#FF0000" }
font_color { "#FFFFFF" }
end
factory :web_section do
name { "homepage" }
end
factory :banner_section, class: "Banner::Section" do
association :banner_id, factory: :banner
association :web_section, factory: :web_section
end
factory :site_customization_page, class: "SiteCustomization::Page" do
slug { "example-page" }
title { "Example page" }
subtitle { "About an example" }
content { "This page is about..." }
more_info_flag { false }
print_content_flag { false }
status { "draft" }
trait :published do
status { "published" }
end
trait :display_in_more_info do
more_info_flag { true }
end
end
factory :site_customization_content_block, class: "SiteCustomization::ContentBlock" do
name { "top_links" }
locale { "en" }
body { "Some top links content" }
end
factory :site_customization_image, class: "SiteCustomization::Image" do
image { Rack::Test::UploadedFile.new("spec/fixtures/files/logo_header.png") }
name { "logo_header" }
end
factory :map_location do
latitude { 51.48 }
longitude { 0.0 }
zoom { 10 }
trait :proposal_map_location do
proposal
end
trait :budget_investment_map_location do
association :investment, factory: :budget_investment
end
end
factory :widget_card, class: "Widget::Card" do
sequence(:title) { |n| "Title #{n}" }
sequence(:description) { |n| "Description #{n}" }
sequence(:link_text) { |n| "Link text #{n}" }
sequence(:link_url) { |n| "Link url #{n}" }
trait :header do
header { true }
end
after :create do |widget_card|
create(:image, imageable: widget_card)
end
end
factory :widget_feed, class: "Widget::Feed"
factory :i18n_content, class: "I18nContent" do
key { "debates.index.section_footer.description" }
value_es { "Texto en español" }
value_en { "Text in english" }
end
factory :tenant do
sequence(:name) { |n| "Tenant #{n}" }
sequence(:schema) { |n| "subdomain#{n}" }
trait :domain do
schema_type { :domain }
end
end
end