Add sanitization to clear trailing whitespaces
This commit is contained in:
committed by
Javi Martín
parent
c4ef33e6f8
commit
d1587ecc62
@@ -1,8 +1,18 @@
|
||||
class LocalCensusRecord < ApplicationRecord
|
||||
before_validation :sanitize
|
||||
|
||||
validates :document_number, presence: true
|
||||
validates :document_type, presence: true
|
||||
validates :date_of_birth, presence: true
|
||||
validates :postal_code, presence: true
|
||||
|
||||
scope :search, -> (terms) { where("document_number ILIKE ?", "%#{terms}%") }
|
||||
|
||||
private
|
||||
|
||||
def sanitize
|
||||
self.document_type = self.document_type&.strip
|
||||
self.document_number = self.document_number&.strip
|
||||
self.postal_code = self.postal_code&.strip
|
||||
end
|
||||
end
|
||||
|
||||
@@ -31,6 +31,18 @@ describe LocalCensusRecord do
|
||||
|
||||
expect(local_census_record).not_to be_valid
|
||||
end
|
||||
|
||||
it "sanitizes text attributes values before validation" do
|
||||
local_census_record.document_type = " DNI "
|
||||
local_census_record.document_number = " #DOCUMENT_NUMBER "
|
||||
local_census_record.postal_code = " 07007 "
|
||||
|
||||
local_census_record.valid?
|
||||
|
||||
expect(local_census_record.document_type).to eq "DNI"
|
||||
expect(local_census_record.document_number).to eq "#DOCUMENT_NUMBER"
|
||||
expect(local_census_record.postal_code).to eq "07007"
|
||||
end
|
||||
end
|
||||
|
||||
context "scopes" do
|
||||
|
||||
Reference in New Issue
Block a user