Split factories
This commit is contained in:
101
spec/factories/administration.rb
Normal file
101
spec/factories/administration.rb
Normal file
@@ -0,0 +1,101 @@
|
||||
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) { |n| n.to_s }
|
||||
sequence(:census_code) { |n| n.to_s }
|
||||
|
||||
trait :in_census do
|
||||
census_code "01"
|
||||
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 { Time.current - 7.days }
|
||||
post_ended_at { Time.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'
|
||||
locale 'en'
|
||||
|
||||
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 :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
|
||||
sequence(:button_text) { |n| "Button text #{n}" }
|
||||
sequence(:button_url) { |n| "Button url #{n}" }
|
||||
sequence(:alignment) { |n| "background" }
|
||||
end
|
||||
|
||||
after :create do |widget_card|
|
||||
create(:image, imageable: widget_card)
|
||||
end
|
||||
end
|
||||
|
||||
factory :widget_feed, class: 'Widget::Feed' do
|
||||
end
|
||||
|
||||
factory :i18n_content, class: 'I18nContent' do
|
||||
key 'debates.index.section_footer.description'
|
||||
value_es 'Texto en español'
|
||||
value_en 'Text in english'
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user