Files
grecia/spec/lib/tasks/settings_spec.rb
2019-02-15 11:40:39 +01:00

71 lines
2.4 KiB
Ruby

require "rails_helper"
describe "Settings Rake" do
describe "#per_page_code_migration" do
let :run_rake_task do
Rake::Task["settings:per_page_code_migration"].reenable
Rake.application.invoke_task "settings:per_page_code_migration"
end
context "Neither per_page_code_head or per_page_code Settings exist" do
before do
Setting.where(key: "per_page_code").first&.destroy
Setting.where(key: "per_page_code_head").first&.destroy
run_rake_task
end
it "has per_page_code_head setting present and no per_page_code" do
expect(Setting.where(key: "per_page_code_head").count).to eq(1)
expect(Setting["per_page_code_head"]).to eq(nil)
expect(Setting.where(key: "per_page_code").count).to eq(0)
end
end
context "Both per_page_code_head or per_page_code Settings exist" do
before do
Setting["per_page_code"] = "per_page_code"
Setting["per_page_code_head"] = "per_page_code_head"
run_rake_task
end
it "has per_page_code_head setting present and no per_page_code" do
expect(Setting.where(key: "per_page_code_head").count).to eq(1)
expect(Setting["per_page_code_head"]).to eq("per_page_code_head")
expect(Setting.where(key: "per_page_code").count).to eq(0)
end
end
context "per_page_code_head exists, but per_page_code does not" do
before do
Setting.where(key: "per_page_code").first&.destroy
Setting["per_page_code_head"] = "per_page_code_head"
run_rake_task
end
it "has per_page_code_head setting present and no per_page_code" do
expect(Setting.where(key: "per_page_code_head").count).to eq(1)
expect(Setting["per_page_code_head"]).to eq("per_page_code_head")
expect(Setting.where(key: "per_page_code").count).to eq(0)
end
end
context "per_page_code_head does not exist, but per_page_code does" do
before do
Setting["per_page_code"] = "per_page_code"
Setting.where(key: "per_page_code_head").first&.destroy
run_rake_task
end
it "has per_page_code_head setting present and no per_page_code" do
expect(Setting.where(key: "per_page_code_head").count).to eq(1)
expect(Setting["per_page_code_head"]).to eq("per_page_code")
expect(Setting.where(key: "per_page_code").count).to eq(0)
end
end
end
end