chore: Normalize portal slug to nil (#5487)
This commit is contained in:
parent
b463ce5b1a
commit
913224ad84
3 changed files with 14 additions and 0 deletions
|
@ -11,4 +11,12 @@ class ApplicationRecord < ActiveRecord::Base
|
||||||
|
|
||||||
"#{self.class.name}Drop".constantize.new(self)
|
"#{self.class.name}Drop".constantize.new(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def normalize_empty_string_to_nil(attrs = [])
|
||||||
|
attrs.each do |attr|
|
||||||
|
self[attr] = nil if self[attr].blank?
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -38,6 +38,7 @@ class Portal < ApplicationRecord
|
||||||
source: :user
|
source: :user
|
||||||
has_one_attached :logo
|
has_one_attached :logo
|
||||||
|
|
||||||
|
before_validation -> { normalize_empty_string_to_nil(%i[custom_domain homepage_link]) }
|
||||||
validates :account_id, presence: true
|
validates :account_id, presence: true
|
||||||
validates :name, presence: true
|
validates :name, presence: true
|
||||||
validates :slug, presence: true, uniqueness: true
|
validates :slug, presence: true, uniqueness: true
|
||||||
|
|
|
@ -32,6 +32,11 @@ RSpec.describe Portal, type: :model do
|
||||||
expect(portal).not_to be_valid
|
expect(portal).not_to be_valid
|
||||||
expect(portal.errors.full_messages[0]).to eq('Cofig in portal on some_other_key is not supported.')
|
expect(portal.errors.full_messages[0]).to eq('Cofig in portal on some_other_key is not supported.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'converts empty string to nil' do
|
||||||
|
portal.update(custom_domain: '')
|
||||||
|
expect(portal.custom_domain).to be_nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue