trabajo-afectivo/spec/db/migrate/issue_3647_custom_object_attribute_integer_spec.rb

35 lines
1.1 KiB
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
require 'rails_helper'
RSpec.describe Issue3647CustomObjectAttributeInteger, type: :db_migration do
let(:integer_valid) { create(:object_manager_attribute_integer) }
let(:integer_max_over_max) do
object = build(:object_manager_attribute_integer, data_option: { default: 0, min: 0, max: 9_999_999_999 })
object.save(validate: false)
object
end
let(:integer_min_over_max) do
object = build(:object_manager_attribute_integer, data_option: { default: 0, min: 9_999_999_999, max: 99_999_999_999 })
object.save(validate: false)
object
end
it 'leaves valid integer intact' do
expect { migrate }
.not_to change { integer_valid.data_option[:max] }
end
it 'lowers max if it is too big' do
expect { migrate }
.to change { integer_max_over_max.reload.data_option[:max] }
.to 2_147_483_647
end
it 'lowers min if it is too big' do
expect { migrate }
.to change { integer_min_over_max.reload.data_option[:min] }
.to 2_147_483_647
end
end