chore: Normalize portal slug to nil (#5487)

This commit is contained in:
Sojan Jose 2022-09-22 14:08:48 -07:00 committed by GitHub
parent b463ce5b1a
commit 913224ad84
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 0 deletions

View file

@ -11,4 +11,12 @@ class ApplicationRecord < ActiveRecord::Base
"#{self.class.name}Drop".constantize.new(self)
end
private
def normalize_empty_string_to_nil(attrs = [])
attrs.each do |attr|
self[attr] = nil if self[attr].blank?
end
end
end

View file

@ -38,6 +38,7 @@ class Portal < ApplicationRecord
source: :user
has_one_attached :logo
before_validation -> { normalize_empty_string_to_nil(%i[custom_domain homepage_link]) }
validates :account_id, presence: true
validates :name, presence: true
validates :slug, presence: true, uniqueness: true

View file

@ -32,6 +32,11 @@ RSpec.describe Portal, type: :model do
expect(portal).not_to be_valid
expect(portal.errors.full_messages[0]).to eq('Cofig in portal on some_other_key is not supported.')
end
it 'converts empty string to nil' do
portal.update(custom_domain: '')
expect(portal.custom_domain).to be_nil
end
end
end
end