test/unit/test_helpers_tests.rb in ardb-0.9.0 vs test/unit/test_helpers_tests.rb in ardb-0.10.0

- old
+ new

@@ -5,10 +5,85 @@ class BaseTests < Assert::Context desc "Ardb test helpers" subject{ Ardb::TestHelpers } - should have_imeths :drop_tables, :load_schema + should have_imeths :drop_tables, :load_schema, :reset_db, :reset_db! + + end + + class UsageTests < BaseTests + setup do + @adapter_spy_class = Ardb::AdapterSpy.new + @orig_ardb_adapter = Ardb.adapter + Ardb::Adapter.current = @adapter_spy = @adapter_spy_class.new + end + teardown do + Ardb::Adapter.current = @orig_ardb_adapter + end + + end + + class DropTablesTests < UsageTests + desc "`drop_tables` method" + + should "tell the adapter to drop the tables" do + assert_equal 0, @adapter_spy.drop_tables_called_count + subject.drop_tables + assert_equal 1, @adapter_spy.drop_tables_called_count + end + + end + + class LoadSchemaTests < UsageTests + desc "`load_schema` method" + + should "tell the adapter to load the schema" do + assert_equal 0, @adapter_spy.load_schema_called_count + subject.load_schema + assert_equal 1, @adapter_spy.load_schema_called_count + end + + end + + class ResetDbTests < UsageTests + desc "reset db methods" + + should "tell the adapter to drop/create the db and load the schema only once" do + assert_equal 0, @adapter_spy.drop_db_called_count + assert_equal 0, @adapter_spy.create_db_called_count + assert_equal 0, @adapter_spy.load_schema_called_count + + subject.reset_db + + assert_equal 1, @adapter_spy.drop_db_called_count + assert_equal 1, @adapter_spy.create_db_called_count + assert_equal 1, @adapter_spy.load_schema_called_count + + subject.reset_db + + assert_equal 1, @adapter_spy.drop_db_called_count + assert_equal 1, @adapter_spy.create_db_called_count + assert_equal 1, @adapter_spy.load_schema_called_count + end + + should "force the adapter to drop/create the db and load the schema" do + assert_equal 0, @adapter_spy.drop_db_called_count + assert_equal 0, @adapter_spy.create_db_called_count + assert_equal 0, @adapter_spy.load_schema_called_count + + subject.reset_db! + + assert_equal 1, @adapter_spy.drop_db_called_count + assert_equal 1, @adapter_spy.create_db_called_count + assert_equal 1, @adapter_spy.load_schema_called_count + + subject.reset_db! + + assert_equal 2, @adapter_spy.drop_db_called_count + assert_equal 2, @adapter_spy.create_db_called_count + assert_equal 2, @adapter_spy.load_schema_called_count + end end end