Remove tasks to rename/remove deprecated settings

I was thinking of leaving these tasks empty, so in the future we could
use them again if we rename or remove more settings. But since we
haven't renamed nor removed any settings for more than seven months, and
we've only used these tasks once, I'm simply removing the tasks. It's
easy to add them back if we ever need them.
This commit is contained in:
Javi Martín
2019-10-08 02:57:50 +02:00
parent 122b066573
commit 8fb44961e9
3 changed files with 0 additions and 165 deletions

View File

@@ -4,8 +4,6 @@ namespace :consul do
desc "Runs tasks needed to upgrade from 1.0.0-beta to 1.0.0"
task "execute_release_1.0.0_tasks": [
"settings:remove_deprecated_settings",
"settings:rename_setting_keys",
"settings:add_new_settings",
"stats:generate"
]

View File

@@ -1,58 +1,7 @@
namespace :settings do
desc "Remove deprecated settings"
task remove_deprecated_settings: :environment do
ApplicationLogger.new.info "Removing deprecated settings"
deprecated_keys = [
"place_name",
"banner-style.banner-style-one",
"banner-style.banner-style-two",
"banner-style.banner-style-three",
"banner-img.banner-img-one",
"banner-img.banner-img-two",
"banner-img.banner-img-three",
"verification_offices_url",
"feature.spending_proposals",
"feature.spending_proposal_features.phase1",
"feature.spending_proposal_features.phase2",
"feature.spending_proposal_features.phase3",
"feature.spending_proposal_features.voting_allowed",
"feature.spending_proposal_features.final_voting_allowed",
"feature.spending_proposal_features.open_results_page",
"feature.spending_proposal_features.valuation_allowed"
]
deprecated_keys.each do |key|
Setting.where(key: key).first&.destroy
end
end
desc "Rename existing settings"
task rename_setting_keys: :environment do
ApplicationLogger.new.info "Renaming existing settings"
Setting.rename_key from: "map_latitude", to: "map.latitude"
Setting.rename_key from: "map_longitude", to: "map.longitude"
Setting.rename_key from: "map_zoom", to: "map.zoom"
Setting.rename_key from: "feature.debates", to: "process.debates"
Setting.rename_key from: "feature.proposals", to: "process.proposals"
Setting.rename_key from: "feature.polls", to: "process.polls"
Setting.rename_key from: "feature.budgets", to: "process.budgets"
Setting.rename_key from: "feature.legislation", to: "process.legislation"
Setting.rename_key from: "per_page_code_head", to: "html.per_page_code_head"
Setting.rename_key from: "per_page_code_body", to: "html.per_page_code_body"
Setting.rename_key from: "feature.homepage.widgets.feeds.proposals", to: "homepage.widgets.feeds.proposals"
Setting.rename_key from: "feature.homepage.widgets.feeds.debates", to: "homepage.widgets.feeds.debates"
Setting.rename_key from: "feature.homepage.widgets.feeds.processes", to: "homepage.widgets.feeds.processes"
end
desc "Add new settings"
task add_new_settings: :environment do
ApplicationLogger.new.info "Adding new settings"
Setting.add_new_settings
end
end

View File

@@ -1,112 +0,0 @@
require "rails_helper"
describe Setting do
context "Remove deprecated settings" do
let :run_remove_deprecated_settings_task do
Rake::Task["settings:remove_deprecated_settings"].reenable
Rake.application.invoke_task "settings:remove_deprecated_settings"
end
before do
Setting.create(key: "place_name", value: "City")
Setting.create(key: "banner-style.banner-style-one", value: "Style one")
Setting.create(key: "banner-style.banner-style-two", value: "Style two")
Setting.create(key: "banner-style.banner-style-three", value: "Style three")
Setting.create(key: "banner-img.banner-img-one", value: "Image 1")
Setting.create(key: "banner-img.banner-img-two", value: "Image 2")
Setting.create(key: "banner-img.banner-img-three", value: "Image 3")
Setting.create(key: "verification_offices_url", value: "http://offices.url")
Setting.create(key: "not_deprecated", value: "Setting not deprecated")
run_remove_deprecated_settings_task
end
it "Rake only removes deprecated settings" do
expect(Setting.where(key: "place_name").count).to eq(0)
expect(Setting.where(key: "banner-style.banner-style-one").count).to eq(0)
expect(Setting.where(key: "banner-style.banner-style-two").count).to eq(0)
expect(Setting.where(key: "banner-style.banner-style-three").count).to eq(0)
expect(Setting.where(key: "banner-img.banner-img-one").count).to eq(0)
expect(Setting.where(key: "banner-img.banner-img-two").count).to eq(0)
expect(Setting.where(key: "banner-img.banner-img-three").count).to eq(0)
expect(Setting.where(key: "verification_offices_url").count).to eq(0)
expect(Setting.where(key: "not_deprecated").count).to eq(1)
end
end
describe "#rename_setting_keys" do
let :run_rake_task do
Rake::Task["settings:rename_setting_keys"].reenable
Rake.application.invoke_task "settings:rename_setting_keys"
end
let :old_keys do
%w[map_latitude map_longitude map_zoom feature.debates feature.proposals feature.polls
feature.budgets feature.legislation per_page_code_head per_page_code_body
feature.homepage.widgets.feeds.proposals feature.homepage.widgets.feeds.debates
feature.homepage.widgets.feeds.processes]
end
let :new_keys do
%w[map.latitude map.longitude map.zoom process.debates process.proposals process.polls
process.budgets process.legislation html.per_page_code_head html.per_page_code_body
homepage.widgets.feeds.proposals homepage.widgets.feeds.debates
homepage.widgets.feeds.processes]
end
context "with existing old settings" do
it "rename all settings keys keeping the same value" do
Setting.destroy_all
old_keys.each { |old_key| Setting[old_key] = "old value" }
run_rake_task
new_keys.each do |new_key|
expect(Setting[new_key]).to eq "old value"
end
old_keys.each do |old_key|
expect(Setting.where(key: old_key)).not_to exist
end
end
end
context "without existing old settings" do
it "initializes all settings with null value" do
Setting.destroy_all
run_rake_task
new_keys.each do |new_key|
expect(Setting[new_key]).to eq nil
end
old_keys.each do |old_key|
expect(Setting.where(key: old_key)).not_to exist
end
end
end
context "with already existing new settings" do
it "does not change the value of the new settings even if the old setting exist" do
Setting.destroy_all
old_keys.each { |old_key| Setting[old_key] = "old value" }
new_keys.each { |new_key| Setting[new_key] = "new value" }
run_rake_task
new_keys.each do |new_key|
expect(Setting[new_key]).to eq "new value"
end
old_keys.each do |old_key|
expect(Setting.where(key: old_key)).not_to exist
end
end
end
end
end