Skip to content
This repository was archived by the owner on Dec 3, 2019. It is now read-only.

Commit 937c49c

Browse files
Merge pull request #454 from OperationCode/fix_zip_validation
Only validate zip on create
2 parents 8086496 + f5cfd21 commit 937c49c

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

app/models/user.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class User < ApplicationRecord
4141

4242
validates_format_of :email, :with => VALID_EMAIL
4343
validates :email, uniqueness: true
44-
validates :zip, presence: true
44+
validates :zip, presence: true, :on => :create
4545

4646
has_many :requests
4747
has_many :votes

test/models/user_test.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,22 @@ def teardown
8282
assert ["Zip can't be blank"], user.errors.full_messages
8383
end
8484

85+
test 'longitude and longitude are nil for nil zipcodes' do
86+
Geocoder::Lookup::Test.add_stub('bad zip code', [{}])
87+
u = build(:user, latitude: nil, longitude: nil, zip: nil)
88+
u.update_attributes(zip: nil)
89+
assert_nil u.latitude
90+
assert_nil u.longitude
91+
end
92+
93+
test 'longitude and longitude are nil for empty zipcodes' do
94+
Geocoder::Lookup::Test.add_stub('bad zip code', [{}])
95+
u = build(:user, latitude: nil, longitude: nil, zip: '')
96+
u.update_attributes(zip: '')
97+
assert_nil u.latitude
98+
assert_nil u.longitude
99+
end
100+
85101
test 'longitude and longitude are nil for unknown zipcodes' do
86102
Geocoder::Lookup::Test.add_stub('bad zip code', [{}])
87103

0 commit comments

Comments
 (0)