diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-18 07:30:42 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-18 07:30:42 +0000 |
commit | 42b39ae3f2991692672364d7e09b1e4002e66261 (patch) | |
tree | cddaf1eb2dbf7be27430bde882432db3b1cc0407 /activerecord/test/cases/modules_test.rb | |
parent | 105a27f39ee9dbfd7fdb2b25e5ba38b00708b66c (diff) | |
download | rails-42b39ae3f2991692672364d7e09b1e4002e66261.tar.gz rails-42b39ae3f2991692672364d7e09b1e4002e66261.tar.bz2 rails-42b39ae3f2991692672364d7e09b1e4002e66261.zip |
Move tests to cases
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8660 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/cases/modules_test.rb')
-rw-r--r-- | activerecord/test/cases/modules_test.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/activerecord/test/cases/modules_test.rb b/activerecord/test/cases/modules_test.rb new file mode 100644 index 0000000000..cced0bb895 --- /dev/null +++ b/activerecord/test/cases/modules_test.rb @@ -0,0 +1,34 @@ +require 'abstract_unit' +require 'fixtures/company_in_module' + +class ModulesTest < ActiveSupport::TestCase + fixtures :accounts, :companies, :projects, :developers + + def test_module_spanning_associations + firm = MyApplication::Business::Firm.find(:first) + assert !firm.clients.empty?, "Firm should have clients" + assert_nil firm.class.table_name.match('::'), "Firm shouldn't have the module appear in its table name" + end + + def test_module_spanning_has_and_belongs_to_many_associations + project = MyApplication::Business::Project.find(:first) + project.developers << MyApplication::Business::Developer.create("name" => "John") + assert "John", project.developers.last.name + end + + def test_associations_spanning_cross_modules + account = MyApplication::Billing::Account.find(:first, :order => 'id') + assert_kind_of MyApplication::Business::Firm, account.firm + assert_kind_of MyApplication::Billing::Firm, account.qualified_billing_firm + assert_kind_of MyApplication::Billing::Firm, account.unqualified_billing_firm + assert_kind_of MyApplication::Billing::Nested::Firm, account.nested_qualified_billing_firm + assert_kind_of MyApplication::Billing::Nested::Firm, account.nested_unqualified_billing_firm + end + + def test_find_account_and_include_company + account = MyApplication::Billing::Account.find(1, :include => :firm) + assert_kind_of MyApplication::Business::Firm, account.instance_variable_get('@firm') + assert_kind_of MyApplication::Business::Firm, account.firm + end + +end |