Split factories

This commit is contained in:
Pierre Mesure
2018-08-06 22:25:02 +02:00
parent 8eb8bb9a59
commit cba6cc029e
17 changed files with 1079 additions and 1065 deletions

View 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