summaryrefslogtreecommitdiff
path: root/lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb')
-rw-r--r--lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb b/lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb
new file mode 100644
index 0000000..e0953cc
--- /dev/null
+++ b/lib/generators/nifty/authentication/templates/tests/rspec/sessions_controller.rb
@@ -0,0 +1,39 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe <%= session_plural_class_name %>Controller do
+ fixtures :all
+ render_views
+
+ it "new action should render new template" do
+ get :new
+ response.should render_template(:new)
+ end
+
+<%- if options[:authlogic] -%>
+ it "create action should render new template when authentication is invalid" do
+ post :create, :<%= session_singular_name %> => { :username => "foo", :password => "badpassword" }
+ response.should render_template(:new)
+ <%= session_class_name %>.find.should be_nil
+ end
+
+ it "create action should redirect when authentication is valid" do
+ post :create, :<%= session_singular_name %> => { :username => "foo", :password => "secret" }
+ response.should redirect_to(root_url)
+ <%= session_class_name %>.find.<%= user_singular_name %>.should == <%= user_plural_name %>(:foo)
+ end
+<%- else -%>
+ it "create action should render new template when authentication is invalid" do
+ <%= user_class_name %>.stubs(:authenticate).returns(nil)
+ post :create
+ response.should render_template(:new)
+ session['<%= user_singular_name %>_id'].should be_nil
+ end
+
+ it "create action should redirect when authentication is valid" do
+ <%= user_class_name %>.stubs(:authenticate).returns(<%= user_class_name %>.first)
+ post :create
+ response.should redirect_to(root_url)
+ session['<%= user_singular_name %>_id'].should == <%= user_class_name %>.first.id
+ end
+<%- end -%>
+end