diff options
Diffstat (limited to 'users/test/support')
-rw-r--r-- | users/test/support/auth_test_helper.rb | 3 | ||||
-rw-r--r-- | users/test/support/stub_record_helper.rb | 19 |
2 files changed, 22 insertions, 0 deletions
diff --git a/users/test/support/auth_test_helper.rb b/users/test/support/auth_test_helper.rb index 795a977..ca166bf 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..e744ad7 --- /dev/null +++ b/users/test/support/stub_record_helper.rb @@ -0,0 +1,19 @@ +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'], + :to_json => %Q({"stub":"#{klass.name}"}), + :new_record? => !persisted, + :persisted? => persisted + stub params + end + +end |