From 8fbe70729da1d308a118c930e8f938837484a61c Mon Sep 17 00:00:00 2001
From: Azul <azul@riseup.net>
Date: Fri, 12 Aug 2016 17:26:51 +0200
Subject: [db] def database on users instead of use_database

use_database affects all uses of prepare_database - so also the one
in tmp_database. In order to avoid that we do not use_database but
just overwrite the database method itself.
---
 test/unit/temporary_user_test.rb | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

(limited to 'test/unit')

diff --git a/test/unit/temporary_user_test.rb b/test/unit/temporary_user_test.rb
index 38ccd67..2c9e70f 100644
--- a/test/unit/temporary_user_test.rb
+++ b/test/unit/temporary_user_test.rb
@@ -6,16 +6,37 @@ class TemporaryUserTest < ActiveSupport::TestCase
     InviteCodeValidator.any_instance.stubs(:validate)
   end
 
-  test "tmp_user saved to tmp_users" do
-    begin
-      assert User.ancestors.include?(TemporaryUser)
+  test "TemporaryUser concern is applied" do
+    assert User.ancestors.include?(TemporaryUser)
+  end
+
+  test "temporary user has tmp_users as db" do
+    tmp_user = User.new :login => 'tmp_user_'+SecureRandom.hex(5).downcase
+    assert_equal 'leap_web_tmp_users', tmp_user.database.name
+  end
 
+  test "normal user has users as db" do
+    user = User.new :login => 'a'+SecureRandom.hex(5).downcase
+    assert_equal 'leap_web_users', user.database.name
+  end
+
+  test "user saved to users" do
+    begin
       assert_difference('User.database.info["doc_count"]') do
         normal_user = User.create!(:login => 'a'+SecureRandom.hex(5).downcase,
           :password_verifier => 'ABCDEF0010101', :password_salt => 'ABCDEF')
         refute normal_user.database.to_s.include?('tmp')
       end
+    ensure
+      begin
+        normal_user.destroy
+      rescue
+      end
+    end
+  end
 
+  test "tmp_user saved to tmp_users" do
+    begin
       assert_difference('User.tmp_database.info["doc_count"]') do
         tmp_user = User.create!(:login => 'tmp_user_'+SecureRandom.hex(5).downcase,
           :password_verifier => 'ABCDEF0010101', :password_salt => 'ABCDEF')
@@ -23,7 +44,6 @@ class TemporaryUserTest < ActiveSupport::TestCase
       end
     ensure
       begin
-        normal_user.destroy
         tmp_user.destroy
       rescue
       end
-- 
cgit v1.2.3