Add sanitization to clear trailing whitespaces

This commit is contained in:
Senén Rodero Rodríguez
2019-05-23 12:51:16 +02:00
committed by Javi Martín
parent c4ef33e6f8
commit d1587ecc62
2 changed files with 22 additions and 0 deletions

View File

@@ -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

View File

@@ -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