summaryrefslogtreecommitdiff
path: root/users/test/support
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-11-23 10:55:49 +0100
committerAzul <azul@leap.se>2012-11-23 11:00:05 +0100
commit46c0140a8eab632c783d309a7afd87cb7aad4280 (patch)
treedebf0bcb697bfdf29d1710096752e3c6d94d4f79 /users/test/support
parent3ce5a25afef3b938c2bbbe8ce481f2af9e0c24dc (diff)
refactored creation of record stubs
Diffstat (limited to 'users/test/support')
-rw-r--r--users/test/support/auth_test_helper.rb3
-rw-r--r--users/test/support/stub_record_helper.rb18
2 files changed, 21 insertions, 0 deletions
diff --git a/users/test/support/auth_test_helper.rb b/users/test/support/auth_test_helper.rb
index f211597..0b73f5f 100644
--- a/users/test/support/auth_test_helper.rb
+++ b/users/test/support/auth_test_helper.rb
@@ -11,6 +11,9 @@ module AuthTestHelper
def login(user = nil)
@current_user = user || stub
+ unless @current_user.respond_to? :is_admin?
+ @current_user.stubs(:is_admin?).returns(false)
+ end
request.env['warden'] = stub :user => @current_user
return @current_user
end
diff --git a/users/test/support/stub_record_helper.rb b/users/test/support/stub_record_helper.rb
new file mode 100644
index 0000000..95b9d63
--- /dev/null
+++ b/users/test/support/stub_record_helper.rb
@@ -0,0 +1,18 @@
+module StubRecordHelper
+
+ # Create a stub that has the usual functions of a database record.
+ # It won't fail on rendering a form for example.
+ def stub_record(klass, params = {}, persisted = true)
+ if klass.respond_to?(:valid_attributes_hash)
+ params.reverse_merge!(klass.valid_attributes_hash)
+ end
+ params[:params] = params.stringify_keys
+ params.reverse_merge! :id => 123,
+ :class => klass,
+ :to_key => ['123'],
+ :new_record? => !persisted,
+ :persisted? => persisted
+ stub params
+ end
+
+end