Commit d35abd3152757a131d5a1917030a030e71861f9e

Authored by Antonio Terceiro
1 parent 74589b8f

rails: add City/State attr_accessible and fix test

app/models/city.rb
1 1 class City < Region
  2 + attr_accessible :name, :parent_id
2 3 end
... ...
app/models/state.rb
1 1 class State < Region
  2 + attr_accessible :name, :acronym
2 3 end
... ...
test/unit/set_profile_region_from_city_state_test.rb
... ... @@ -3,8 +3,8 @@ require File.dirname(__FILE__) + &#39;/../test_helper&#39;
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 &lt; 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 &lt; 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
... ...