aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Auto-generate stable fixture UUIDs on PostgreSQL.Roderick van Domburg2014-01-079-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #11524
* | | | | | Remove unused variableRafael Mendonça França2014-04-041-1/+1
| | | | | |
* | | | | | Prevent state leak in test.Guo Xiang Tan2014-04-031-17/+16
| |_|_|/ / |/| | | | | | | | | | | | | | This will allow us to run the tests in random order.
* | | | | Block a few default Class methods as scope name.Arthur Neves2014-04-032-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests to make sure scopes cannot be create with names such as: private, protected, public. Make sure enum values don't collide with those methods too.
* | | | | Merge pull request #14572 from laurocaetano/with_options_and_scopeRafael Mendonça França2014-04-034-0/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix error when using `with_options` with lambda. Conflicts: activerecord/CHANGELOG.md
| * | | | | Fix error when using `with_options` with lambda.Lauro Caetano2014-04-034-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was causing error when using `with_options` passing a lambda as its last argument. class User < ActiveRecord::Base with_options dependent: :destroy do |assoc| assoc.has_many :profiles, -> { where(active: true) } end end It was happening because the `option_merger` was taking the last argument and checking if it was a Hash. This breaks the HasMany usage, because its last argument can be a Hash or a Proc. As the behavior described in this test: https://github.com/rails/rails/blob/master/activesupport/test/option_merger_test.rb#L69 the method will only accept the lambda, this way it will keep the expected behavior. See 9eaa0a34
* | | | | | Merge pull request #14569 from matthewd/sqlite_relative_deprecatedRafael Mendonça França2014-04-033-7/+26
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise 'sqlite3:' URL handling for smoother upgrades Conflicts: activerecord/CHANGELOG.md
| * | | | | | Complete change of `sqlite3:///` path handlingMatthew Draper2014-04-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | That which was now relative is now absolute.
| * | | | | | Revise 'sqlite3:' URL handling for smoother upgradesMatthew Draper2014-04-033-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the 4.0 behaviour for 'sqlite3:///', but deprecate it. We'll change to the absolute-path interpretation in 4.2. The current "correct" spellings for in-memory, relative, and absolute URLs, respectively, are: sqlite3::memory: sqlite3:relative/path sqlite3:/full/path Substantially reverses/defers fbb79b517f3127ba620fedd01849f9628b78d6ce. Uncovered by @guilleiguaran while investigating #14495, though that sounds like a different issue.
* | | | | | | Merge pull request #14570 from matthewd/uri_deprecation_warningRafael Mendonça França2014-04-031-0/+48
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Avoid a spurious deprecation warning for database URLs
| * | | | | | Avoid a spurious deprecation warning for database URLsMatthew Draper2014-04-031-0/+48
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is all about the case where we have a `DATABASE_URL`, and we have a `database.yml` present, but the latter doesn't contain the key we're looking for. If the key is a symbol, we'll always connect to `DATABASE_URL`, per the new behaviour in 283a2edec2f8ccdf90fb58025608f02a63948fa0. If the key is a string, on the other hand, it should always be a URL: the ability to specify a name not present in `database.yml` is new in this version of Rails, and that ability does not stretch to the deprecated use of a string in place of a symbol. Uncovered by @guilleiguaran while investigating #14495 -- this actually may be related to the original report, but we don't have enough info to confirm.
* | | | | | Merge pull request #14561 from tgxworld/refactor_run_without_connectionYves Senn2014-04-0310-64/+44
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add ConnectionHelper to refactor tests.
| * | | | | | Add ConnectionHelper to refactor tests.Guo Xiang Tan2014-04-0310-64/+44
| |/ / / / /
* / / / / / Treat blank UUID values as nilDmitry Lavrov2014-04-031-0/+5
|/ / / / /
* | | | | We can conditional define the tests depending on the adapter orRajarshi Das2014-04-021-7/+5
| | | | | | | | | | | | | | | | | | | | connection.
* | | | | PostgreSQL, Support for materialized views. [Dave Lee & Yves Senn]Dave Lee2014-04-021-8/+26
| |/ / / |/| | | | | | | | | | | | | | | Expand the query used in #table_exists? to include materialized views in the kinds of relations it searches.
* | | | cleanup, `reset_pg_session` in range_test.rbYves Senn2014-04-021-2/+5
| | | | | | | | | | | | | | | | | | | | Also do not use transactional fixtures. We drop the type and the table after every run, so there is nothing for the transaction to clean up.
* | | | Allow postgresql enum_test to be run in random order.Guo Xiang Tan2014-04-013-9/+21
| | | | | | | | | | | | | | | | Creating and dropping similar tables within the same connection causes postgresql to look up old values in the cache of tables which have already been dropped.
* | | | PostgreSQL, register custom domains. Closes #14305.Yves Senn2014-04-011-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch registers custom domains in our OID-type_map. They will behave exactly as the type specified by `pg_type.typbasetype`. /cc @matthewd
* | | | Merge pull request #14513 from senny/pg/responsible_oidRafael Mendonça França2014-04-013-6/+5
|\ \ \ \ | | | | | | | | | | PostgreSQL determine `Column#type` through corresponding OID. #7814
| * | | | PostgreSQL determine `Column#type` through corresponding OID. #7814Yves Senn2014-04-013-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I ran the whole test suite and compared the old to the new types. Following is the list of types that did change with this patch: ``` DIFFERENT TYPE FOR mood: NEW: enum, BEFORE: DIFFERENT TYPE FOR floatrange: NEW: floatrange, BEFORE: float ``` The `floatrange` is a custom type. The old type `float` was simply a coincidence form the name `floatrange` and our type-guessing.
* | | | | refactor assert_sql query to reuse capture_sqleileencodes2014-03-311-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set assert_sql to reuse the capture_sql method from above instead of repeating the code in response to comments on issue #14546
* | | | | Merge pull request #14546 from ↵Aaron Patterson2014-03-312-1/+22
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | eileencodes/fix_delete_all_to_not_use_IN_statement Fix delete all to not produce sql in statement
| * | | | | add test to compare sql statements in delete_all queryeileencodes2014-03-311-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | delete_all sql if an association is not loaded should behave the same as if the association is loaded. This test ensures the SQL statements are exactly the same.
| * | | | | add capture_sql method to compare sql statements and compareeileencodes2014-03-311-0/+6
| |/ / / / | | | | | | | | | | | | | | | | | | | | Other methods compare specific patterns, this method outputs the actual sql query that is generated.
* | | | | Merge pull request #14532 from thedarkone/polymorphic-preload-fixAaron Patterson2014-03-311-4/+15
|\ \ \ \ \ | |/ / / / |/| | | | Fix polymorphic preloads on NOT NULL _type columns
| * | | | Simplify Preloader#grouped_records code.thedarkone2014-03-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new method relies on AR::Associations::Association knowing about both reflection and a model class. AR::Base#association now raises a descriptive error when trying to access non-existent associations. Previously it would blow up with a confusing NoMethodError: undefined method `association_class' for nil:NilClass.
| * | | | Fix polymorphic preloads on NOT NULL _type columns.thedarkone2014-03-301-0/+11
| | | | | | | | | | | | | | | | | | | | Defer to Association#klass instead of having a custom/duplicate code.
* | | | | fix bug on non empty defaults for pg array columnsLuke Steensen2014-03-301-0/+11
|/ / / / | | | | | | | | | | | | fixes #10613
* | | | Refactor test to use DdlHelper.Guo Xiang Tan2014-03-292-167/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow-Up to https://github.com/rails/rails/pull/14400 This ensures that all tables are removed after each test and thereby allowing us to run the tests in a random order.
* | | | Merge pull request #14524 from tgxworld/fix_unsubscribe_from_notificationsYves Senn2014-03-294-12/+12
|\ \ \ \ | | | | | | | | | | | | | | | Fix tests not unsubscribing from Notifications.
| * | | | Fix tests not unsubscribing from Notifications.Guo Xiang Tan2014-03-284-8/+8
| | | | | | | | | | | | | | | | | | | | See https://github.com/rails/rails/blob/master/activesupport/lib/active_support/notifications.rb#L131
* | | | | Ensure we are returning either `true` or `false` for `#==`Godfrey Chan2014-03-291-6/+7
|/ / / / | | | | | | | | | | | | | | | | | | | | 460eb83d cused `ActiveRecord::Base#==` to sometimes return `nil` in some cases, this ensures we always return a boolean value. Also fixed a similar problem in AR reflections.
* | | | PostgreSQL, use `PostgreSQLColumn` in PG specific tests.Yves Senn2014-03-281-8/+8
| | | |
* | | | PostgreSQL, test-cases to lock down column default values.Yves Senn2014-03-283-0/+33
| | | |
* | | | PostgreSQL, test cases to lock the current column types.Yves Senn2014-03-288-15/+68
| | | |
* | | | Merge pull request #14154 from al2o3cr/issue12770Aaron Patterson2014-03-272-0/+10
|\ \ \ \ | | | | | | | | | | Pass a base relation to build_default_scope when joining
| * | | | Pass a base relation to build_default_scope when joiningMatt Jones2014-02-212-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | This allows the default scope to be built using the current table alias. Resolves #12770
* | | | | Merge pull request #14469 from tiegz/timestamp_inheritance_fixRafael Mendonça França2014-03-271-0/+18
| | | | | | | | | | | | | | | | | | | | Swap Timestamp/Callbacks order in ActiveRecord::Base
* | | | | AR .persisted? throws SystemStackError for an unsaved model with achrisfinne2014-03-272-0/+8
| | | | | | | | | | | | | | | | | | | | custom primary_key that didn't save due to validation error
* | | | | ActiveRecord/ActiveModel '#validate' alias for 'valid?'Henrik Nyh2014-03-271-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's unintuitive to call '#valid?' when you want to run validations but don't care about the return value. The alias in ActiveRecord isn't strictly necessary (the ActiveModel alias is still in effect), but it clarifies.
* | | | | require dependency to execute a single test from xml_serialization_testYves Senn2014-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the tests are executed in order, the dependency is loaded at the right time. However this makes it impossible to execute a single test later down the line. Let's require the dependecy at the beginning to get them working independent of the order. This resolves the following error: ``` $ ARCONN=postgresql ruby -Itest /Users/senny/Projects/rails/activerecord/test/cases/xml_serialization_test.rb -n test_to_xml Using postgresql Run options: -n test_to_xml --seed 51819 E Finished in 0.081320s, 12.2971 runs/s, 0.0000 assertions/s. 1) Error: DatabaseConnectedXmlSerializationTest#test_to_xml: NameError: uninitialized constant DatabaseConnectedXmlSerializationTest::REXML /Users/senny/Projects/rails/activerecord/test/cases/xml_serialization_test.rb:226:in `test_to_xml' ``` /cc @tgxworld fyi
* | | | | only run citext_test if the connection supports_extensions?.Yves Senn2014-03-271-52/+54
| | | | | | | | | | | | | | | | | | | | This will keep the test suite passing with older PG installations.
* | | | | Add a test case for save(validate:false) with invalid foreign key.Lauro Caetano2014-03-271-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | It is supposed to raise ActiveRecord::InvalidForeignKey when the database has a fk constraint.
* | | | | No need to use begin/end blocksRafael Mendonça França2014-03-262-16/+16
| | | | |
* | | | | No need to gsub the stringRafael Mendonça França2014-03-262-2/+2
| | | | |
* | | | | Fixes bugs for using indexes in CREATE TABLE by adding checks for table ↵Steve Rice2014-03-252-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existence Also: - updates tests by stubbing table_exists? method - adds entry for creating indexes in CREATE TABLE to changelog
* | | | | create indexes inline in CREATE TABLE for MySQLCody Cutrer2014-03-252-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is important, because adding an index on a temporary table after it has been created would commit the transaction Conflicts: activerecord/CHANGELOG.md
* | | | | Use rails convetionsRafael Mendonça França2014-03-251-2/+2
| | | | |
* | | | | Merge pull request #14390 from huoxito/true-touchRafael Mendonça França2014-03-251-0/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Still touch associations when theres no timestamp