aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | fix bad test by making number that fits for integerNeeraj Singh2013-06-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR https://github.com/rails/rails/pull/10566 had to be reverted because after applying the fix test "test_raise_record_not_found_error_when_invalid_ids_are_passed" started failing. In this test invalid_id is being assigned a really large number which was causing following failure when PR #10566 was applied. ``` RangeError: bignum too big to convert into `long long' SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` = ? LIMIT 1 [["man_id", 970345987], ["id", 2394823094892348920348523452345]] ``` This test is not failing in master because when test code `man.interests.find(invalid_id)` is executed then interests are fully loaded in memory and no database query is executed. After PR #10566 was merged then test code `man.interests.find(invalid_id)` started executing sql query and hence the error. In case someone is wondering why the second part of query is not failing, then that's because the actual query does not require any variable substituation where the number is large. In that case the sql generate is following. ``` SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` IN (8432342, 2390102913, 2453245234523452) [["man_id", 970345987]] ```
* | | | | `inspect` for AR model classes does not initiate a new connection.Yves Senn2013-06-201-0/+20
| |_|_|/ |/| | |
* | | | Merge pull request #10884 from dmarkow/pg_fix_default_quotesYves Senn2013-06-191-0/+25
|\ \ \ \ | | | | | | | | | | Handle single quotes in PostgreSQL default column values
| * | | | Handle single quotes in PostgreSQL default column valuesDylan Markow2013-06-191-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PostgreSQL escapes single quotes by using an additional single quote. When Rails queries the column information, PostgreSQL returns the default values with the escaped single quotes. #extract_value_from_default now converts these to one single quote each. Fixes #10881.
* | | | | Revert "Merge pull request #10566 from neerajdotname/10509d"Jon Leighton2013-06-191-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2b817a5e89ac0e7aeb894a40ae7151a0cf3cef16, reversing changes made to 353a398bee68c5ea99d76ac7601de0a5fef6f4a5. Conflicts: activerecord/CHANGELOG.md Reason: the build broke
* | | | | log the sql that is actually sent to the databaseNeeraj Singh2013-06-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If I have a query that produces sql `WHERE "users"."name" = 'a b'` then in the log all the whitespace is being squeezed. So the sql that is printed in the log is `WHERE "users"."name" = 'a b'`. This can be confusing. This commit fixes it by ensuring that whitespace is not squeezed. fixes #10982
* | | | | do not load all child records for inverse caseNeeraj Singh2013-06-191-0/+8
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currently `post.comments.find(Comment.first.id)` would load all comments for the given post to set the inverse association. This has a huge performance penalty. Because if post has 100k records and all these 100k records would be loaded in memory even though the comment id was supplied. Fix is to use in-memory records only if loaded? is true. Otherwise load the records using full sql. Fixes #10509
* | | | Merge pull request #10987 from senny/10979_association_include_returns_trueXavier Noria2013-06-181-11/+11
|\ \ \ \ | | | | | | | | | | `CollectionProxy#include?` returns `true` and `false` as documented.
| * | | | `CollectionProxy#include?` returns `true` and `false` as documented.Yves Senn2013-06-181-11/+11
| | | | |
* | | | | just construct real objects rather than mock and stubAaron Patterson2013-06-171-7/+8
| | | | |
* | | | | Merge branch 'master' into mrbrdo-fixserializationAaron Patterson2013-06-1715-32/+76
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (142 commits) Use Colspan in th Tags Added test for link_to_unless to make sure the result consistency. Escape the string even when the condition of link_to_unless is not satisfied. Add CHANGELOG entry for #10969 Use a case insensitive URI Regexp for #asset_path collection tags accept html attributes as the last element of collection Rewind StringIO instances before be parsed again Use xml instead already parsed xml Updated the doc for const_regexp [ci skip] Make test name descriptive and add reference to original regression commit fixture setup does not rely on `AR::Base.configurations`. regression test + mysql2 adapter raises correct error if conn is closed. cleanup, remove trailing whitespace from AR changelog 'json' gem is no more required under JRuby fix typos Fix AS changelog [ci skip] Update the HTML boolean attributes per the HTML 5.1 spec Changing const_regexp to check for constant name. valid_app_const? -> valid_const? Add CHANGELOG entry for #10740 ...
| * \ \ \ \ Merge pull request #10533 from vipulnsward/fix_testRafael Mendonça França2013-06-151-1/+2
| |\ \ \ \ \ | | |/ / / / | |/| | | | Fix test, addresss => address
| | * | | | Make test name descriptive and add reference to original regression commitVipul A M2013-06-151-1/+2
| | | | | |
| * | | | | fixture setup does not rely on `AR::Base.configurations`.Yves Senn2013-06-151-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As you can also configure your database connection using `ENV["DATABASE_URL"]`, the fixture setup can't reply on the `.configurations` Hash. As the fixtures are only loaded when ActiveRecord is actually used (`rails/test_help.rb`) it should be safe to drop the check for an existing configuration.
| * | | | | regression test + mysql2 adapter raises correct error if conn is closed.Yves Senn2013-06-151-0/+26
| | | | | |
| * | | | | Merge pull request #10953 from acapilleri/fix_typosYves Senn2013-06-151-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | fix typos
| | * | | | | fix typosAngelo Capilleri2013-06-151-1/+1
| | | |_|/ / | | |/| | |
| * | | | | This test does not test anything that happens in the real world. If youAaron Patterson2013-06-131-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recreate the models without mucking with internal caches of the relation objects, then the test fails. For example: class Man < ActiveRecord::Base has_many :interests end class Interest < ActiveRecord::Base belongs_to :man end Then do this test: def test_validate_presence_of_parent_fails_without_inverse_of repair_validations(Interest) do Interest.validates_presence_of(:man) assert_no_difference ['Man.count', 'Interest.count'] do man = Man.create(:name => 'John', :interests_attributes => [{:topic=>'Cars'}, {:topic=>'Sports'}]) assert_not_predicate man.errors[:"interests.man"], :empty? end end end The test will fail. This is a bad test, so I am removing it.
| * | | | | refute the predicate for better failure messagesAaron Patterson2013-06-131-1/+1
| | | | | |
| * | | | | Ambiguous reflections are on :through relationships are no longer supported.Aaron Patterson2013-06-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, you need to change this: class Author < ActiveRecord::Base has_many :posts has_many :taggings, :through => :posts end class Post < ActiveRecord::Base has_one :tagging has_many :taggings end class Tagging < ActiveRecord::Base end To this: class Author < ActiveRecord::Base has_many :posts has_many :taggings, :through => :posts, :source => :tagging end class Post < ActiveRecord::Base has_one :tagging has_many :taggings end class Tagging < ActiveRecord::Base end
| * | | | | indentationAaron Patterson2013-06-111-1/+1
| | | | | |
| * | | | | Remove fall back and column restrictions for `count`.Yves Senn2013-06-091-0/+9
| | | | | |
| * | | | | Getting rid of the +automatic_inverse_of: false+ option in associations in favorwangjohn2013-06-085-5/+5
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | of using +inverse_of: false+ option. Changing the documentation and adding a CHANGELOG entry for the automatic inverse detection feature.
| * | | | Merge pull request #10561 from Empact/nix-throwresultJon Leighton2013-06-072-2/+14
| |\ \ \ \ | | |/ / / | |/| | | Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results.
| | * | | Make NullRelation a bit more like a real relation by returning 0 for ↵Ben Woosley2013-05-101-2/+3
| | | | | | | | | | | | | | | | | | | | #calculate(:count)
| | * | | Add coverage for the fact that pluck without an argument returns all the ↵Ben Woosley2013-05-101-0/+5
| | | | | | | | | | | | | | | | | | | | table's columns.
| | * | | Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when ↵Ben Woosley2013-05-101-0/+6
| | | | | | | | | | | | | | | | | | | | failing to construct_limited_ids_condition.
* | | | | add test for 9041454def79d8e61cabe49e7c5cb72cef29138bJan Berdajs2013-06-051-0/+28
|/ / / /
* | | | Merge pull request #10482 from scudco/10432-fix-add-column-with-arrayAaron Patterson2013-06-051-0/+29
|\ \ \ \ | | | | | | | | | | Fixes #10432 add_column not creating array columns in PostgreSQL
| * | | | Fixes #10432 add_column not creating array columns in PostgreSQLAdam Anderson2013-06-041-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When then PostgreSQL visitor was [added](https://github.com/rails/rails/commit/6b7fdf3bf3675a14eae74acc5241089308153a34) `add_column` was no longer receiving the column options directly. This caused the options to be lost along the way.
* | | | | Fix #10789. Now at last ::Logger doesn't support #silence method .kennyj2013-06-051-0/+9
| | | | |
* | | | | the typecast value should be passed to the serializer. fixes #10830Aaron Patterson2013-06-051-1/+0
| | | | |
* | | | | adding a test for #10830Aaron Patterson2013-06-051-0/+18
|/ / / / | | | | | | | | | | | | | | | | Conflicts: activerecord/test/cases/adapters/postgresql/bytea_test.rb
* | | | Revert "Merge pull request #4490 from EmmanuelOga/master"José Valim2013-06-041-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This behaviour doesn't actually make sense, the context of the child should not be affected by the parent. See #10492. This reverts commit 5f8274efe128ffeec8fa3179460f5167a078f007, reversing changes made to 81e837e810460d066a2e5fc5a795366ec8ab2313.
* | | | Merge pull request #10824 from vipulnsward/wonderfulGuillermo Iguaran2013-06-021-1/+1
|\ \ \ \ | | | | | | | | | | wonderfull => wonderful
| * | | | wonderfull => wonderfulVipul A M2013-06-021-1/+1
| | | | |
* | | | | Remove unnecessary testcase for instance level stored_attributes.kennyj2013-06-021-5/+0
| | | | |
* | | | | Remove instance level serialized_attributes setting was deprecated.kennyj2013-06-021-6/+0
| | | | |
* | | | | Remove instance level attr_readonly setting was deprecated.kennyj2013-06-021-6/+0
| | | | |
* | | | | Remove behavior that deals with a string as third argument of `add_index`, ↵kennyj2013-06-021-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because this was deprecated. Some testcases is failed, so I replaced nil to empty hash in add_reference.
* | | | | Remove #sum with a block was deprecated.kennyj2013-06-012-12/+0
| | | | |
* | | | | Remove ActiveSupport::Benchmarkable#silence was deprecated.kennyj2013-06-011-32/+0
|/ / / /
* | | | Merge pull request #10495 from senny/postgres_test_cleanupRafael Mendonça França2013-05-282-30/+30
|\ \ \ \ | | | | | | | | | | PostgreSQL specific test cleanup
| * | | | cleanup, assert on warning from postgres adapterYves Senn2013-05-081-1/+1
| | | | |
| * | | | cleanup, switch arguments in assert_equal callsYves Senn2013-05-081-29/+29
| | | | |
* | | | | test cleanup, replace `define_method` and `remove_method` with stubs.Yves Senn2013-05-281-5/+1
| | | | |
* | | | | `implicit_readonly` is being removed in favor of calling `readonly` explicitlyYves Senn2013-05-272-14/+12
| | | | |
* | | | | Fix the `:primary_key` option for `has_many` associations.Yves Senn2013-05-232-0/+9
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When removing records from a `has_many` association it used the `primary_key` defined on the association. Our test suite didn't fail because on all occurences of `:primary_key`, the specified column was available in both tables. This prevented the code from raising an exception but it still behaved badly. I added a test-case to prevent regressions that failed with: ``` 1) Error: HasManyAssociationsTest#test_has_many_assignment_with_custom_primary_key: ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: essays.first_name: UPDATE "essays" SET "writer_id" = NULL WHERE "essays"."writer_id" = ? AND "essays"."first_name" IS NULL ```
* | | | Merge pull request #10714 from tkhr/extract_test_from_base_test.rb_in_ARCarlos Antonio da Silva2013-05-224-45/+54
|\ \ \ \ | | | | | | | | | | Extract tests code out from AR's base_test.rb
| * | | | Extract AR::Persistence#becomes's test code out from base_test.rbTakehiro Adachi2013-05-222-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | The method got extracted out from AR::Base in commit d916c62cfc7c59ab6411407a05b946d3dd7535e9, but the tests never did.