diff options
author | Taryn East <git@taryneast.org> | 2009-10-02 10:13:40 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-10-02 10:13:40 -0500 |
commit | 8377646d68b32de362fefad0d752a923f6b36da6 (patch) | |
tree | a2f4b8d2d9b4021acc5efc551ec7578d5e24d923 /activeresource/test | |
parent | f4f68885efd0e1135217433cafd368902b1fd58a (diff) | |
download | rails-8377646d68b32de362fefad0d752a923f6b36da6.tar.gz rails-8377646d68b32de362fefad0d752a923f6b36da6.tar.bz2 rails-8377646d68b32de362fefad0d752a923f6b36da6.zip |
add indifferent access to the attributes
Signed-off-by: Joshua Peek <josh@joshpeek.com>
Diffstat (limited to 'activeresource/test')
-rw-r--r-- | activeresource/test/cases/base/load_test.rb | 13 | ||||
-rw-r--r-- | activeresource/test/cases/base_test.rb | 15 |
2 files changed, 28 insertions, 0 deletions
diff --git a/activeresource/test/cases/base/load_test.rb b/activeresource/test/cases/base/load_test.rb index 1952f5b5f0..53fa94d07f 100644 --- a/activeresource/test/cases/base/load_test.rb +++ b/activeresource/test/cases/base/load_test.rb @@ -68,6 +68,19 @@ class BaseLoadTest < Test::Unit::TestCase assert_equal @matz.stringify_keys, @person.load(@matz).attributes end + def test_after_load_attributes_are_accessible + assert_equal Hash.new, @person.attributes + assert_equal @matz.stringify_keys, @person.load(@matz).attributes + assert_equal @matz[:name], @person.attributes['name'] + end + + def test_after_load_attributes_are_accessible_via_indifferent_access + assert_equal Hash.new, @person.attributes + assert_equal @matz.stringify_keys, @person.load(@matz).attributes + assert_equal @matz[:name], @person.attributes['name'] + assert_equal @matz[:name], @person.attributes[:name] + end + def test_load_one_with_existing_resource address = @person.load(:street_address => @first_address).street_address assert_kind_of StreetAddress, address diff --git a/activeresource/test/cases/base_test.rb b/activeresource/test/cases/base_test.rb index 96fc6fc2fe..fc366430d4 100644 --- a/activeresource/test/cases/base_test.rb +++ b/activeresource/test/cases/base_test.rb @@ -102,6 +102,9 @@ class BaseTest < Test::Unit::TestCase Person.password = nil end + ######################################################################## + # Tests relating to setting up the API-connection configuration + ######################################################################## def test_site_accessor_accepts_uri_or_string_argument site = URI.parse('http://localhost') @@ -509,6 +512,11 @@ class BaseTest < Test::Unit::TestCase assert_not_equal(first_connection, second_connection, 'Connection should be re-created') end + + ######################################################################## + # Tests for setting up remote URLs for a given model (including adding + # parameters appropriately) + ######################################################################## def test_collection_name assert_equal "people", Person.collection_name end @@ -637,6 +645,10 @@ class BaseTest < Test::Unit::TestCase assert_equal [:person_id].to_set, StreetAddress.__send__(:prefix_parameters) end + + ######################################################################## + # Tests basic CRUD functions (find/save/create etc) + ######################################################################## def test_respond_to matz = Person.find(1) assert matz.respond_to?(:name) @@ -910,6 +922,9 @@ class BaseTest < Test::Unit::TestCase assert_raise(ActiveResource::ResourceGone) { Person.find(1) } end + ######################################################################## + # Tests the more miscelaneous helper methods + ######################################################################## def test_exists # Class method. assert !Person.exists?(nil) |