diff --git a/db/pages/accessibility.rb b/db/pages/accessibility.rb index 006368164..c499199ca 100644 --- a/db/pages/accessibility.rb +++ b/db/pages/accessibility.rb @@ -1,5 +1,4 @@ -if SiteCustomization::Page.find_by(slug: "accessibility").nil? - page = SiteCustomization::Page.new(slug: "accessibility", status: "published") +def generate_content(page) page.title = I18n.t("pages.accessibility.title") content = "" @@ -29,10 +28,12 @@ if SiteCustomization::Page.find_by(slug: "accessibility").nil?
" I18n.t("pages.accessibility.keyboard_shortcuts.navigation_table.rows").each do |row| - content << "#{I18n.t("pages.accessibility.textsize.browser_shortcuts_table.description")}
#{I18n.t("pages.conditions.description")}
" page.save! end + +if SiteCustomization::Page.find_by(slug: "conditions").nil? + page = SiteCustomization::Page.new(slug: "conditions", status: "published") + page.print_content_flag = true + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/db/pages/faq.rb b/db/pages/faq.rb index 3e960ae14..362801a2e 100644 --- a/db/pages/faq.rb +++ b/db/pages/faq.rb @@ -1,6 +1,11 @@ -if SiteCustomization::Page.find_by(slug: "faq").nil? - page = SiteCustomization::Page.new(slug: "faq", status: "published") +def generate_content(page) page.title = I18n.t("pages.help.faq.page.title") page.content = "#{I18n.t("pages.help.faq.page.description")}
" page.save! end +if SiteCustomization::Page.find_by(slug: "faq").nil? + page = SiteCustomization::Page.new(slug: "faq", status: "published") + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/db/pages/privacy.rb b/db/pages/privacy.rb index 71e79880a..5f215810d 100644 --- a/db/pages/privacy.rb +++ b/db/pages/privacy.rb @@ -1,7 +1,13 @@ -if SiteCustomization::Page.find_by(slug: "privacy").nil? - page = SiteCustomization::Page.new(slug: "privacy", status: "published") - page.print_content_flag = true +def generate_content(page) page.title = I18n.t("pages.privacy.title") page.content = I18n.t("pages.privacy.subtitle") page.save! end + +if SiteCustomization::Page.find_by(slug: "privacy").nil? + page = SiteCustomization::Page.new(slug: "privacy", status: "published") + page.print_content_flag = true + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/db/pages/welcome_level_three_verified.rb b/db/pages/welcome_level_three_verified.rb index 8c2caaaac..3c32afb88 100644 --- a/db/pages/welcome_level_three_verified.rb +++ b/db/pages/welcome_level_three_verified.rb @@ -1,5 +1,4 @@ -if SiteCustomization::Page.find_by(slug: "welcome_level_three_verified").nil? - page = SiteCustomization::Page.new(slug: "welcome_level_three_verified", status: "published") +def generate_content(page) page.title = I18n.t("welcome.welcome.title") page.content = "#{I18n.t("welcome.welcome.user_permission_info")}
@@ -17,3 +16,10 @@ if SiteCustomization::Page.find_by(slug: "welcome_level_three_verified").nil?#{I18n.t("welcome.welcome.start_using_consul")}
" page.save! end + +if SiteCustomization::Page.find_by(slug: "welcome_level_three_verified").nil? + page = SiteCustomization::Page.new(slug: "welcome_level_three_verified", status: "published") + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/db/pages/welcome_level_two_verified.rb b/db/pages/welcome_level_two_verified.rb index a459a6fa6..daff9fc42 100644 --- a/db/pages/welcome_level_two_verified.rb +++ b/db/pages/welcome_level_two_verified.rb @@ -1,5 +1,4 @@ -if SiteCustomization::Page.find_by(slug: "welcome_level_two_verified").nil? - page = SiteCustomization::Page.new(slug: "welcome_level_two_verified", status: "published") +def generate_content(page) page.title = I18n.t("welcome.welcome.title") page.content = "#{I18n.t("welcome.welcome.user_permission_info")}
@@ -23,3 +22,9 @@ if SiteCustomization::Page.find_by(slug: "welcome_level_two_verified").nil?#{I18n.t("welcome.welcome.go_to_index")}
" page.save! end +if SiteCustomization::Page.find_by(slug: "welcome_level_two_verified").nil? + page = SiteCustomization::Page.new(slug: "welcome_level_two_verified", status: "published") + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/db/pages/welcome_not_verified.rb b/db/pages/welcome_not_verified.rb index 3ff99142d..1922c1e80 100644 --- a/db/pages/welcome_not_verified.rb +++ b/db/pages/welcome_not_verified.rb @@ -1,5 +1,4 @@ -if SiteCustomization::Page.find_by(slug: "welcome_not_verified").nil? - page = SiteCustomization::Page.new(slug: "welcome_not_verified", status: "published") +def generate_content(page) page.title = I18n.t("welcome.welcome.title") page.content = "#{I18n.t("welcome.welcome.user_permission_info")}
@@ -23,3 +22,9 @@ if SiteCustomization::Page.find_by(slug: "welcome_not_verified").nil? " page.save! end +if SiteCustomization::Page.find_by(slug: "welcome_not_verified").nil? + page = SiteCustomization::Page.new(slug: "welcome_not_verified", status: "published") + I18n.available_locales.each do |locale| + I18n.with_locale(locale) { generate_content(page) } + end +end diff --git a/spec/lib/tasks/seed_spec.rb b/spec/lib/tasks/seed_spec.rb new file mode 100644 index 000000000..b7e2b2830 --- /dev/null +++ b/spec/lib/tasks/seed_spec.rb @@ -0,0 +1,30 @@ +require "rails_helper" + +describe "rake db:seed" do + it "generates all custom pages translations populated by db:seeds" do + default_locales = I18n.available_locales + begin + I18n.available_locales = [:ar, :bg, :bs, :ca, :cs, :da, :de, :el, :en, :es, :"es-PE", :eu, :fa, :fr, + :gl, :he, :hr, :id, :it, :ka, :nl, :oc, :pl, :"pt-BR", + :ro, :ru, :sl, :sq, :so, :sr, :sv, :tr, :val, :"zh-CN", :"zh-TW"] + SiteCustomization::Page.destroy_all + load Rails.root.join("db", "pages.rb") + + paths = { accessibility: "pages.accessibility.title", conditions: "pages.conditions.title", + faq: "pages.help.faq.page.title", privacy: "pages.privacy.title", + welcome_not_verified: "welcome.welcome.title", + welcome_level_two_verified: "welcome.welcome.title", + welcome_level_three_verified: "welcome.welcome.title" } + + I18n.available_locales.each do |locale| + I18n.locale = locale + paths.each do |slug, path| + site = SiteCustomization::Page.find_by(slug: slug).translations.find_by(locale: locale) + expect(site.title).to eq I18n.t(path) + end + end + ensure + I18n.available_locales = default_locales + end + end +end