Commit d35abd3152757a131d5a1917030a030e71861f9e
1 parent
74589b8f
Exists in
master
and in
22 other branches
rails: add City/State attr_accessible and fix test
Showing
3 changed files
with
26 additions
and
5 deletions
Show diff stats
app/models/city.rb
app/models/state.rb
test/unit/set_profile_region_from_city_state_test.rb
| ... | ... | @@ -3,8 +3,8 @@ require File.dirname(__FILE__) + '/../test_helper' |
| 3 | 3 | class SetProfileRegionFromCityStateTest < ActiveSupport::TestCase |
| 4 | 4 | |
| 5 | 5 | should 'set city and state from names' do |
| 6 | - s = State.create!(:name => 'Sao Paulo', :acronym => 'SP', :environment_id => Environment.default.id) | |
| 7 | - c = City.create!(:name => 'Pindamonhangaba', :parent_id => s.id, :environment_id => Environment.default.id) | |
| 6 | + c, _ = create_city_in_state('Pindamonhangaba', 'Sao Paulo', 'SP') | |
| 7 | + | |
| 8 | 8 | p = fast_create(Person, :user_id => fast_create(User).id) |
| 9 | 9 | p.state_with_region = 'SP' |
| 10 | 10 | p.city_with_region = 'Pindamonhangaba' |
| ... | ... | @@ -13,7 +13,8 @@ class SetProfileRegionFromCityStateTest < ActiveSupport::TestCase |
| 13 | 13 | end |
| 14 | 14 | |
| 15 | 15 | should 'set region to null if city not found' do |
| 16 | - s = State.create!(:name => 'Sao Paulo', :acronym => 'SP', :environment_id => Environment.default.id) | |
| 16 | + create_city_in_state(nil, 'Sao Paulo', 'SP') | |
| 17 | + | |
| 17 | 18 | p = fast_create(Person, :user_id => fast_create(User).id) |
| 18 | 19 | p.state_with_region = 'SP' |
| 19 | 20 | p.city_with_region = 'Pindamonhangaba' |
| ... | ... | @@ -22,12 +23,30 @@ class SetProfileRegionFromCityStateTest < ActiveSupport::TestCase |
| 22 | 23 | end |
| 23 | 24 | |
| 24 | 25 | should 'set region to null if state not found' do |
| 25 | - s = State.create!(:name => 'Sao Paulo', :acronym => 'SP', :environment_id => Environment.default.id) | |
| 26 | - c = City.create!(:name => 'Pindamonhangaba', :parent_id => s.id, :environment_id => Environment.default.id) | |
| 26 | + create_city_in_state('Pindamonhangaba', 'Sao Paulo', 'SP') | |
| 27 | + | |
| 27 | 28 | p = fast_create(Person, :user_id => fast_create(User).id) |
| 28 | 29 | p.state_with_region = 'RJ' |
| 29 | 30 | p.city_with_region = 'Pindamonhangaba' |
| 30 | 31 | p.save! |
| 31 | 32 | assert p.region.nil? |
| 32 | 33 | end |
| 34 | + | |
| 35 | + def create_city_in_state(city_name, state_name, state_acronym) | |
| 36 | + environment_id = Environment.default.id | |
| 37 | + | |
| 38 | + state = State.new(:name => state_name, :acronym => state_acronym) | |
| 39 | + state.environment_id = environment_id | |
| 40 | + state.save! | |
| 41 | + | |
| 42 | + city = nil | |
| 43 | + if city_name | |
| 44 | + city = City.new(:name => city_name, :parent_id => state.id) | |
| 45 | + city.environment_id = environment_id | |
| 46 | + city.save! | |
| 47 | + end | |
| 48 | + | |
| 49 | + return [city, state] | |
| 50 | + end | |
| 51 | + | |
| 33 | 52 | end | ... | ... |