diff --git a/db/migrate/20180606083431_convert_quadicon_settings_keys.rb b/db/migrate/20180606083431_convert_quadicon_settings_keys.rb index 3a7319363..a5943495a 100644 --- a/db/migrate/20180606083431_convert_quadicon_settings_keys.rb +++ b/db/migrate/20180606083431_convert_quadicon_settings_keys.rb @@ -7,6 +7,7 @@ def up say_with_time("Converting :ems quadicon settings keys for users to :ems_infra") do User.all.each do |user| settings = user.settings + next unless settings[:quadicons] settings[:quadicons][:ems_infra] = settings[:quadicons].delete(:ems) user.update_attributes(:settings => settings) end @@ -17,6 +18,7 @@ def down say_with_time("Converting :ems_infra quadicon settings keys for users to :ems") do User.all.each do |user| settings = user.settings + next unless settings[:quadicons] settings[:quadicons][:ems] = settings[:quadicons].delete(:ems_infra) user.update_attributes(:settings => settings) end diff --git a/spec/migrations/20180606083431_convert_quadicon_settings_keys_spec.rb b/spec/migrations/20180606083431_convert_quadicon_settings_keys_spec.rb index 3601ea045..e46e5b71b 100644 --- a/spec/migrations/20180606083431_convert_quadicon_settings_keys_spec.rb +++ b/spec/migrations/20180606083431_convert_quadicon_settings_keys_spec.rb @@ -14,6 +14,16 @@ expect(user.settings[:quadicons][:ems]).to be_nil expect(user.settings[:quadicons][:ems_infra]).to be_falsey end + + it 'skips the user when the quadicons are not set' do + user = user_stub.create! + + migrate + + user.reload + + expect(user.settings).to eq({}) + end end migration_context :down do @@ -27,5 +37,15 @@ expect(user.settings[:quadicons][:ems_infra]).to be_nil expect(user.settings[:quadicons][:ems]).to be_falsey end + + it 'skips the user when the quadicons are not set' do + user = user_stub.create! + + migrate + + user.reload + + expect(user.settings).to eq({}) + end end end