Skip to content

Commit

Permalink
Use MethodCallAssertions instead of Mocha#expects
Browse files Browse the repository at this point in the history
Many calls to `Mocha#expects` preceded the introduction of
`ActiveSupport::Testing::MethodCallAssertions` in 53f64c0,
and many are simple to replace with `MethodCallAssertions`.

This patch makes all these simple replacements.

Step 5 in #33162
  • Loading branch information
utilum committed Jul 19, 2018
1 parent 08813dd commit d0743d0
Show file tree
Hide file tree
Showing 5 changed files with 154 additions and 98 deletions.
8 changes: 4 additions & 4 deletions activerecord/test/cases/fixtures_test.rb
Expand Up @@ -861,9 +861,9 @@ def rollback_transaction(*args); end
def lock_thread=(lock_thread); end
end.new

connection.expects(:begin_transaction).with(joinable: false)

fire_connection_notification(connection)
assert_called_with(connection, :begin_transaction, [joinable: false]) do
fire_connection_notification(connection)
end
end

def test_notification_established_transactions_are_rolled_back
Expand Down Expand Up @@ -891,7 +891,7 @@ def lock_thread=(lock_thread); end
private

def fire_connection_notification(connection)
ActiveRecord::Base.connection_handler.stub(:retrieve_connection, connection) do
assert_called_with(ActiveRecord::Base.connection_handler, :retrieve_connection, ["book"], returns: connection) do
message_bus = ActiveSupport::Notifications.instrumenter
payload = {
spec_name: "book",
Expand Down
81 changes: 53 additions & 28 deletions activerecord/test/cases/tasks/database_tasks_test.rb
Expand Up @@ -15,6 +15,7 @@ def purge; end
def charset; end
def collation; end
def structure_dump(*); end
def structure_load(*); end
end.new
)

Expand Down Expand Up @@ -119,8 +120,9 @@ class DatabaseTasksCreateTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_create") do
with_stubbed_new do
eval("@#{v}").expects(:create)
ActiveRecord::Tasks::DatabaseTasks.create "adapter" => k
assert_called(eval("@#{v}"), :create) do
ActiveRecord::Tasks::DatabaseTasks.create "adapter" => k
end
end
end
end
Expand Down Expand Up @@ -407,11 +409,15 @@ def test_creates_test_and_development_databases_when_rails_env_is_development

def test_establishes_connection_for_the_given_environments_config
ActiveRecord::Tasks::DatabaseTasks.stub(:create, nil) do
ActiveRecord::Base.expects(:establish_connection).with(:development)

ActiveRecord::Tasks::DatabaseTasks.create_current(
ActiveSupport::StringInquirer.new("development")
)
assert_called_with(
ActiveRecord::Base,
:establish_connection,
[:development]
) do
ActiveRecord::Tasks::DatabaseTasks.create_current(
ActiveSupport::StringInquirer.new("development")
)
end
end
end

Expand All @@ -432,8 +438,9 @@ class DatabaseTasksDropTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_drop") do
with_stubbed_new do
eval("@#{v}").expects(:drop)
ActiveRecord::Tasks::DatabaseTasks.drop "adapter" => k
assert_called(eval("@#{v}"), :drop) do
ActiveRecord::Tasks::DatabaseTasks.drop "adapter" => k
end
end
end
end
Expand Down Expand Up @@ -812,8 +819,9 @@ class DatabaseTasksPurgeTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_purge") do
with_stubbed_new do
eval("@#{v}").expects(:purge)
ActiveRecord::Tasks::DatabaseTasks.purge "adapter" => k
assert_called(eval("@#{v}"), :purge) do
ActiveRecord::Tasks::DatabaseTasks.purge "adapter" => k
end
end
end
end
Expand All @@ -827,11 +835,14 @@ def test_purges_current_environment_database
"production" => { "database" => "prod-db" }
}
ActiveRecord::Base.stub(:configurations, configurations) do
ActiveRecord::Tasks::DatabaseTasks.expects(:purge).
with("database" => "prod-db")

assert_called_with(ActiveRecord::Base, :establish_connection, [:production]) do
ActiveRecord::Tasks::DatabaseTasks.purge_current("production")
assert_called_with(
ActiveRecord::Tasks::DatabaseTasks,
:purge,
["database" => "prod-db"]
) do
assert_called_with(ActiveRecord::Base, :establish_connection, [:production]) do
ActiveRecord::Tasks::DatabaseTasks.purge_current("production")
end
end
end
end
Expand All @@ -841,10 +852,13 @@ class DatabaseTasksPurgeAllTest < ActiveRecord::TestCase
def test_purge_all_local_configurations
configurations = { development: { "database" => "my-db" } }
ActiveRecord::Base.stub(:configurations, configurations) do
ActiveRecord::Tasks::DatabaseTasks.expects(:purge).
with("database" => "my-db")

ActiveRecord::Tasks::DatabaseTasks.purge_all
assert_called_with(
ActiveRecord::Tasks::DatabaseTasks,
:purge,
["database" => "my-db"]
) do
ActiveRecord::Tasks::DatabaseTasks.purge_all
end
end
end
end
Expand All @@ -855,8 +869,9 @@ class DatabaseTasksCharsetTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_charset") do
with_stubbed_new do
eval("@#{v}").expects(:charset)
ActiveRecord::Tasks::DatabaseTasks.charset "adapter" => k
assert_called(eval("@#{v}"), :charset) do
ActiveRecord::Tasks::DatabaseTasks.charset "adapter" => k
end
end
end
end
Expand All @@ -868,8 +883,9 @@ class DatabaseTasksCollationTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_collation") do
with_stubbed_new do
eval("@#{v}").expects(:collation)
ActiveRecord::Tasks::DatabaseTasks.collation "adapter" => k
assert_called(eval("@#{v}"), :collation) do
ActiveRecord::Tasks::DatabaseTasks.collation "adapter" => k
end
end
end
end
Expand Down Expand Up @@ -983,8 +999,12 @@ class DatabaseTasksStructureDumpTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_structure_dump") do
with_stubbed_new do
eval("@#{v}").expects(:structure_dump).with("awesome-file.sql", nil)
ActiveRecord::Tasks::DatabaseTasks.structure_dump({ "adapter" => k }, "awesome-file.sql")
assert_called_with(
eval("@#{v}"), :structure_dump,
["awesome-file.sql", nil]
) do
ActiveRecord::Tasks::DatabaseTasks.structure_dump({ "adapter" => k }, "awesome-file.sql")
end
end
end
end
Expand All @@ -996,8 +1016,13 @@ class DatabaseTasksStructureLoadTest < ActiveRecord::TestCase
ADAPTERS_TASKS.each do |k, v|
define_method("test_#{k}_structure_load") do
with_stubbed_new do
eval("@#{v}").expects(:structure_load).with("awesome-file.sql", nil)
ActiveRecord::Tasks::DatabaseTasks.structure_load({ "adapter" => k }, "awesome-file.sql")
assert_called_with(
eval("@#{v}"),
:structure_load,
["awesome-file.sql", nil]
) do
ActiveRecord::Tasks::DatabaseTasks.structure_load({ "adapter" => k }, "awesome-file.sql")
end
end
end
end
Expand Down
61 changes: 33 additions & 28 deletions activerecord/test/cases/tasks/mysql_rake_test.rb
Expand Up @@ -31,28 +31,29 @@ def test_establishes_connection_without_database

def test_creates_database_with_no_default_options
with_stubbed_connection_establish_connection do
@connection.expects(:create_database).
with("my-app-db", {})

ActiveRecord::Tasks::DatabaseTasks.create @configuration
assert_called_with(@connection, :create_database, ["my-app-db", {}]) do
ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
end
end

def test_creates_database_with_given_encoding
with_stubbed_connection_establish_connection do
@connection.expects(:create_database).
with("my-app-db", charset: "latin1")

ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("encoding" => "latin1")
assert_called_with(@connection, :create_database, ["my-app-db", charset: "latin1"]) do
ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("encoding" => "latin1")
end
end
end

def test_creates_database_with_given_collation
with_stubbed_connection_establish_connection do
@connection.expects(:create_database).
with("my-app-db", collation: "latin1_swedish_ci")

ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("collation" => "latin1_swedish_ci")
assert_called_with(
@connection,
:create_database,
["my-app-db", collation: "latin1_swedish_ci"]
) do
ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("collation" => "latin1_swedish_ci")
end
end
end

Expand Down Expand Up @@ -149,9 +150,9 @@ def test_establishes_connection_to_mysql_database

def test_drops_database
with_stubbed_connection_establish_connection do
@connection.expects(:drop_database).with("my-app-db")

ActiveRecord::Tasks::DatabaseTasks.drop @configuration
assert_called_with(@connection, :drop_database, ["my-app-db"]) do
ActiveRecord::Tasks::DatabaseTasks.drop @configuration
end
end
end

Expand Down Expand Up @@ -193,20 +194,22 @@ def test_establishes_connection_to_the_appropriate_database

def test_recreates_database_with_no_default_options
with_stubbed_connection_establish_connection do
@connection.expects(:recreate_database).
with("test-db", {})

ActiveRecord::Tasks::DatabaseTasks.purge @configuration
assert_called_with(@connection, :recreate_database, ["test-db", {}]) do
ActiveRecord::Tasks::DatabaseTasks.purge @configuration
end
end
end

def test_recreates_database_with_the_given_options
with_stubbed_connection_establish_connection do
@connection.expects(:recreate_database).
with("test-db", charset: "latin", collation: "latin1_swedish_ci")

ActiveRecord::Tasks::DatabaseTasks.purge @configuration.merge(
"encoding" => "latin", "collation" => "latin1_swedish_ci")
assert_called_with(
@connection,
:recreate_database,
["test-db", charset: "latin", collation: "latin1_swedish_ci"]
) do
ActiveRecord::Tasks::DatabaseTasks.purge @configuration.merge(
"encoding" => "latin", "collation" => "latin1_swedish_ci")
end
end
end

Expand All @@ -232,8 +235,9 @@ def setup

def test_db_retrieves_charset
ActiveRecord::Base.stub(:connection, @connection) do
@connection.expects(:charset)
ActiveRecord::Tasks::DatabaseTasks.charset @configuration
assert_called(@connection, :charset) do
ActiveRecord::Tasks::DatabaseTasks.charset @configuration
end
end
end
end
Expand All @@ -249,8 +253,9 @@ def setup

def test_db_retrieves_collation
ActiveRecord::Base.stub(:connection, @connection) do
@connection.expects(:collation)
ActiveRecord::Tasks::DatabaseTasks.collation @configuration
assert_called_with(@connection, :collation) do
ActiveRecord::Tasks::DatabaseTasks.collation @configuration
end
end
end
end
Expand Down

0 comments on commit d0743d0

Please sign in to comment.