summaryrefslogtreecommitdiff
path: root/lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb')
-rw-r--r--lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb b/lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb
new file mode 100644
index 0000000..e2f9005
--- /dev/null
+++ b/lib/generators/nifty/authentication/templates/tests/shoulda/sessions_controller.rb
@@ -0,0 +1,40 @@
+require 'test_helper'
+
+class <%= session_plural_class_name %>ControllerTest < ActionController::TestCase
+ context "new action" do
+ should "render new template" do
+ get :new
+ assert_template 'new'
+ end
+ end
+
+ context "create action" do
+ <%- if options[:authlogic] -%>
+ should "render new template when authentication is invalid" do
+ post :create, :<%= session_singular_name %> => { :username => "foo", :password => "badpassword" }
+ assert_template 'new'
+ assert_nil <%= session_class_name %>.find
+ end
+
+ should "redirect when authentication is valid" do
+ post :create, :<%= session_singular_name %> => { :username => "foo", :password => "secret" }
+ assert_redirected_to root_url
+ assert_equal <%= user_plural_name %>(:foo), <%= session_class_name %>.find.<%= user_singular_name %>
+ end
+ <%- else -%>
+ should "render new template when authentication is invalid" do
+ <%= user_class_name %>.stubs(:authenticate).returns(nil)
+ post :create
+ assert_template 'new'
+ assert_nil session['<%= user_singular_name %>_id']
+ end
+
+ should "redirect when authentication is valid" do
+ <%= user_class_name %>.stubs(:authenticate).returns(<%= user_class_name %>.first)
+ post :create
+ assert_redirected_to root_url
+ assert_equal <%= user_class_name %>.first.id, session['<%= user_singular_name %>_id']
+ end
+ <%- end -%>
+ end
+end