nifty-generators 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/CHANGELOG +9 -0
  2. data/LICENSE +1 -1
  3. data/README.rdoc +16 -24
  4. data/Rakefile +0 -13
  5. data/test/test_helper.rb +4 -2
  6. data/test/test_nifty_authentication_generator.rb +39 -1
  7. metadata +18 -114
  8. data/Manifest +0 -100
  9. data/TODO +0 -7
  10. data/nifty-generators.gemspec +0 -169
  11. data/rails_generators/nifty_authentication/USAGE +0 -50
  12. data/rails_generators/nifty_authentication/lib/insert_commands.rb +0 -74
  13. data/rails_generators/nifty_authentication/nifty_authentication_generator.rb +0 -128
  14. data/rails_generators/nifty_authentication/templates/authentication.rb +0 -61
  15. data/rails_generators/nifty_authentication/templates/authlogic_session.rb +0 -2
  16. data/rails_generators/nifty_authentication/templates/fixtures.yml +0 -24
  17. data/rails_generators/nifty_authentication/templates/migration.rb +0 -20
  18. data/rails_generators/nifty_authentication/templates/sessions_controller.rb +0 -45
  19. data/rails_generators/nifty_authentication/templates/sessions_helper.rb +0 -2
  20. data/rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb +0 -39
  21. data/rails_generators/nifty_authentication/templates/tests/rspec/user.rb +0 -83
  22. data/rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb +0 -26
  23. data/rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb +0 -40
  24. data/rails_generators/nifty_authentication/templates/tests/shoulda/user.rb +0 -85
  25. data/rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb +0 -27
  26. data/rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb +0 -36
  27. data/rails_generators/nifty_authentication/templates/tests/testunit/user.rb +0 -88
  28. data/rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb +0 -23
  29. data/rails_generators/nifty_authentication/templates/user.rb +0 -42
  30. data/rails_generators/nifty_authentication/templates/users_controller.rb +0 -18
  31. data/rails_generators/nifty_authentication/templates/users_helper.rb +0 -2
  32. data/rails_generators/nifty_authentication/templates/views/erb/login.html.erb +0 -30
  33. data/rails_generators/nifty_authentication/templates/views/erb/signup.html.erb +0 -24
  34. data/rails_generators/nifty_authentication/templates/views/haml/login.html.haml +0 -30
  35. data/rails_generators/nifty_authentication/templates/views/haml/signup.html.haml +0 -24
  36. data/rails_generators/nifty_config/USAGE +0 -23
  37. data/rails_generators/nifty_config/nifty_config_generator.rb +0 -32
  38. data/rails_generators/nifty_config/templates/config.yml +0 -8
  39. data/rails_generators/nifty_config/templates/load_config.rb +0 -2
  40. data/rails_generators/nifty_layout/USAGE +0 -25
  41. data/rails_generators/nifty_layout/nifty_layout_generator.rb +0 -44
  42. data/rails_generators/nifty_layout/templates/helper.rb +0 -22
  43. data/rails_generators/nifty_layout/templates/layout.html.erb +0 -22
  44. data/rails_generators/nifty_layout/templates/layout.html.haml +0 -19
  45. data/rails_generators/nifty_layout/templates/stylesheet.css +0 -81
  46. data/rails_generators/nifty_layout/templates/stylesheet.sass +0 -67
  47. data/rails_generators/nifty_scaffold/USAGE +0 -51
  48. data/rails_generators/nifty_scaffold/nifty_scaffold_generator.rb +0 -232
  49. data/rails_generators/nifty_scaffold/templates/actions/create.rb +0 -9
  50. data/rails_generators/nifty_scaffold/templates/actions/destroy.rb +0 -6
  51. data/rails_generators/nifty_scaffold/templates/actions/edit.rb +0 -3
  52. data/rails_generators/nifty_scaffold/templates/actions/index.rb +0 -3
  53. data/rails_generators/nifty_scaffold/templates/actions/new.rb +0 -3
  54. data/rails_generators/nifty_scaffold/templates/actions/show.rb +0 -3
  55. data/rails_generators/nifty_scaffold/templates/actions/update.rb +0 -9
  56. data/rails_generators/nifty_scaffold/templates/controller.rb +0 -3
  57. data/rails_generators/nifty_scaffold/templates/fixtures.yml +0 -9
  58. data/rails_generators/nifty_scaffold/templates/helper.rb +0 -2
  59. data/rails_generators/nifty_scaffold/templates/migration.rb +0 -16
  60. data/rails_generators/nifty_scaffold/templates/model.rb +0 -3
  61. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb +0 -11
  62. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb +0 -6
  63. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb +0 -4
  64. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb +0 -4
  65. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb +0 -4
  66. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb +0 -4
  67. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb +0 -11
  68. data/rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb +0 -8
  69. data/rails_generators/nifty_scaffold/templates/tests/rspec/model.rb +0 -7
  70. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb +0 -13
  71. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb +0 -8
  72. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb +0 -6
  73. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb +0 -6
  74. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb +0 -6
  75. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb +0 -6
  76. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb +0 -13
  77. data/rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb +0 -5
  78. data/rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb +0 -7
  79. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb +0 -11
  80. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb +0 -6
  81. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb +0 -4
  82. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb +0 -4
  83. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb +0 -4
  84. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb +0 -4
  85. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb +0 -11
  86. data/rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb +0 -5
  87. data/rails_generators/nifty_scaffold/templates/tests/testunit/model.rb +0 -7
  88. data/rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb +0 -10
  89. data/rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb +0 -14
  90. data/rails_generators/nifty_scaffold/templates/views/erb/index.html.erb +0 -29
  91. data/rails_generators/nifty_scaffold/templates/views/erb/new.html.erb +0 -7
  92. data/rails_generators/nifty_scaffold/templates/views/erb/show.html.erb +0 -20
  93. data/rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml +0 -10
  94. data/rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml +0 -14
  95. data/rails_generators/nifty_scaffold/templates/views/haml/index.html.haml +0 -25
  96. data/rails_generators/nifty_scaffold/templates/views/haml/new.html.haml +0 -7
  97. data/rails_generators/nifty_scaffold/templates/views/haml/show.html.haml +0 -20
  98. data/tasks/deployment.rake +0 -2
@@ -1,2 +0,0 @@
1
- class <%= session_class_name %> < Authlogic::Session::Base
2
- end
@@ -1,24 +0,0 @@
1
- # password: "secret"
2
- foo:
3
- username: foo
4
- email: foo@example.com
5
- <%- if options[:authlogic] -%>
6
- persistence_token: d5ddba13ed4408ea2b0a12ab18ed2d2eda086279736bdc121ca726a11f1e4b99217d9c534c2cc4ebb22729349c8c5fdbe1529e1f2c3c5859c62ef4dd9feea25c
7
- crypted_password: 3d16c326648cccafe3d4b4cb024475c381dda92f430dfedf6f933e1f61203bacb6bae2437849bdb43b06be335e23790e4aa03902b3c28c3bbbbe27d501e521f3
8
- password_salt: n6z_wtpWoIsHgQb5IcFd
9
- <%- else -%>
10
- password_hash: 3488f5f7efecab14b91eb96169e5e1ee518a569f
11
- password_salt: bef65e058905c379436d80d1a32e7374b139e7b0
12
- <%- end -%>
13
-
14
- bar:
15
- username: bar
16
- email: bar@example.com
17
- <%- if options[:authlogic] -%>
18
- persistence_token: 19e074bd7cb506ab3e7e53e41f24f0ab3221c8cb68111f4c1aa43965114ad734233979a50a9463537487cdca18c279ac91c4bc83693d589625d446493322394c
19
- crypted_password: 3bc9f4113ca645a186765df3d31a9352d0067bf2304ba0cdd6b08a7f3d58c6668ab1762fa3e76aef466ea2ff188399d8e6c40244fa59312bb4112292dac9f7f0
20
- password_salt: UiAh9ejabnKRxqsiK0xO
21
- <%- else -%>
22
- password_hash: 3488f5f7efecab14b91eb96169e5e1ee518a569f
23
- password_salt: bef65e058905c379436d80d1a32e7374b139e7b0
24
- <%- end -%>
@@ -1,20 +0,0 @@
1
- class Create<%= user_plural_class_name %> < ActiveRecord::Migration
2
- def self.up
3
- create_table :<%= user_plural_name %> do |t|
4
- t.string :username
5
- t.string :email
6
- <%- if options[:authlogic] -%>
7
- t.string :persistence_token
8
- t.string :crypted_password
9
- <%- else -%>
10
- t.string :password_hash
11
- <%- end -%>
12
- t.string :password_salt
13
- t.timestamps
14
- end
15
- end
16
-
17
- def self.down
18
- drop_table :<%= user_plural_name %>
19
- end
20
- end
@@ -1,45 +0,0 @@
1
- class <%= session_plural_class_name %>Controller < ApplicationController
2
- <%- if options[:authlogic] -%>
3
- def new
4
- @<%= session_singular_name %> = <%= session_class_name %>.new
5
- end
6
-
7
- def create
8
- @<%= session_singular_name %> = <%= session_class_name %>.new(params[:<%= session_singular_name %>])
9
- if @<%= session_singular_name %>.save
10
- flash[:notice] = "Logged in successfully."
11
- redirect_to_target_or_default(root_url)
12
- else
13
- render :action => 'new'
14
- end
15
- end
16
-
17
- def destroy
18
- @<%= session_singular_name %> = <%= session_class_name %>.find
19
- @<%= session_singular_name %>.destroy
20
- flash[:notice] = "You have been logged out."
21
- redirect_to root_url
22
- end
23
- <%- else -%>
24
- def new
25
- end
26
-
27
- def create
28
- <%= user_singular_name %> = <%= user_class_name %>.authenticate(params[:login], params[:password])
29
- if <%= user_singular_name %>
30
- session[:<%= user_singular_name %>_id] = <%= user_singular_name %>.id
31
- flash[:notice] = "Logged in successfully."
32
- redirect_to_target_or_default(root_url)
33
- else
34
- flash.now[:error] = "Invalid login or password."
35
- render :action => 'new'
36
- end
37
- end
38
-
39
- def destroy
40
- session[:<%= user_singular_name %>_id] = nil
41
- flash[:notice] = "You have been logged out."
42
- redirect_to root_url
43
- end
44
- <%- end -%>
45
- end
@@ -1,2 +0,0 @@
1
- module <%= session_plural_class_name %>Helper
2
- end
@@ -1,39 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe <%= session_plural_class_name %>Controller do
4
- fixtures :all
5
- integrate_views
6
-
7
- it "new action should render new template" do
8
- get :new
9
- response.should render_template(:new)
10
- end
11
-
12
- <%- if options[:authlogic] -%>
13
- it "create action should render new template when authentication is invalid" do
14
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "badpassword" }
15
- response.should render_template(:new)
16
- <%= session_class_name %>.find.should be_nil
17
- end
18
-
19
- it "create action should redirect when authentication is valid" do
20
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "secret" }
21
- response.should redirect_to(root_url)
22
- <%= session_class_name %>.find.<%= user_singular_name %>.should == <%= user_plural_name %>(:foo)
23
- end
24
- <%- else -%>
25
- it "create action should render new template when authentication is invalid" do
26
- <%= user_class_name %>.stubs(:authenticate).returns(nil)
27
- post :create
28
- response.should render_template(:new)
29
- session['<%= user_singular_name %>_id'].should be_nil
30
- end
31
-
32
- it "create action should redirect when authentication is valid" do
33
- <%= user_class_name %>.stubs(:authenticate).returns(<%= user_class_name %>.first)
34
- post :create
35
- response.should redirect_to(root_url)
36
- session['<%= user_singular_name %>_id'].should == <%= user_class_name %>.first.id
37
- end
38
- <%- end -%>
39
- end
@@ -1,83 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe <%= user_class_name %> do
4
- <%- unless options[:authlogic] -%>
5
- def new_<%= user_singular_name %>(attributes = {})
6
- attributes[:username] ||= 'foo'
7
- attributes[:email] ||= 'foo@example.com'
8
- attributes[:password] ||= 'abc123'
9
- attributes[:password_confirmation] ||= attributes[:password]
10
- <%= user_class_name %>.new(attributes)
11
- end
12
-
13
- before(:each) do
14
- <%= user_class_name %>.delete_all
15
- end
16
-
17
- it "should be valid" do
18
- new_<%= user_singular_name %>.should be_valid
19
- end
20
-
21
- it "should require username" do
22
- new_<%= user_singular_name %>(:username => '').should have(1).error_on(:username)
23
- end
24
-
25
- it "should require password" do
26
- new_<%= user_singular_name %>(:password => '').should have(1).error_on(:password)
27
- end
28
-
29
- it "should require well formed email" do
30
- new_<%= user_singular_name %>(:email => 'foo@bar@example.com').should have(1).error_on(:email)
31
- end
32
-
33
- it "should validate uniqueness of email" do
34
- new_<%= user_singular_name %>(:email => 'bar@example.com').save!
35
- new_<%= user_singular_name %>(:email => 'bar@example.com').should have(1).error_on(:email)
36
- end
37
-
38
- it "should validate uniqueness of username" do
39
- new_<%= user_singular_name %>(:username => 'uniquename').save!
40
- new_<%= user_singular_name %>(:username => 'uniquename').should have(1).error_on(:username)
41
- end
42
-
43
- it "should not allow odd characters in username" do
44
- new_<%= user_singular_name %>(:username => 'odd ^&(@)').should have(1).error_on(:username)
45
- end
46
-
47
- it "should validate password is longer than 3 characters" do
48
- new_<%= user_singular_name %>(:password => 'bad').should have(1).error_on(:password)
49
- end
50
-
51
- it "should require matching password confirmation" do
52
- new_<%= user_singular_name %>(:password_confirmation => 'nonmatching').should have(1).error_on(:password)
53
- end
54
-
55
- it "should generate password hash and salt on create" do
56
- <%= user_singular_name %> = new_<%= user_singular_name %>
57
- <%= user_singular_name %>.save!
58
- <%= user_singular_name %>.password_hash.should_not be_nil
59
- <%= user_singular_name %>.password_salt.should_not be_nil
60
- end
61
-
62
- it "should authenticate by username" do
63
- <%= user_singular_name %> = new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret')
64
- <%= user_singular_name %>.save!
65
- <%= user_class_name %>.authenticate('foobar', 'secret').should == <%= user_singular_name %>
66
- end
67
-
68
- it "should authenticate by email" do
69
- <%= user_singular_name %> = new_<%= user_singular_name %>(:email => 'foo@bar.com', :password => 'secret')
70
- <%= user_singular_name %>.save!
71
- <%= user_class_name %>.authenticate('foo@bar.com', 'secret').should == <%= user_singular_name %>
72
- end
73
-
74
- it "should not authenticate bad username" do
75
- <%= user_class_name %>.authenticate('nonexisting', 'secret').should be_nil
76
- end
77
-
78
- it "should not authenticate bad password" do
79
- new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret').save!
80
- <%= user_class_name %>.authenticate('foobar', 'badpassword').should be_nil
81
- end
82
- <%- end -%>
83
- end
@@ -1,26 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe <%= user_plural_class_name %>Controller do
4
- fixtures :all
5
- integrate_views
6
-
7
- it "new action should render new template" do
8
- get :new
9
- response.should render_template(:new)
10
- end
11
-
12
- it "create action should render new template when model is invalid" do
13
- <%= user_class_name %>.any_instance.stubs(:valid?).returns(false)
14
- post :create
15
- response.should render_template(:new)
16
- end
17
-
18
- it "create action should redirect when model is valid" do
19
- <%= user_class_name %>.any_instance.stubs(:valid?).returns(true)
20
- post :create
21
- response.should redirect_to(root_url)
22
- <%- unless options[:authlogic] -%>
23
- session['<%= user_singular_name %>_id'].should == assigns['<%= user_singular_name %>'].id
24
- <%- end -%>
25
- end
26
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= session_plural_class_name %>ControllerTest < ActionController::TestCase
4
- context "new action" do
5
- should "render new template" do
6
- get :new
7
- assert_template 'new'
8
- end
9
- end
10
-
11
- context "create action" do
12
- <%- if options[:authlogic] -%>
13
- should "render new template when authentication is invalid" do
14
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "badpassword" }
15
- assert_template 'new'
16
- assert_nil <%= session_class_name %>.find
17
- end
18
-
19
- should "redirect when authentication is valid" do
20
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "secret" }
21
- assert_redirected_to root_url
22
- assert_equal <%= user_plural_name %>(:foo), <%= session_class_name %>.find.<%= user_singular_name %>
23
- end
24
- <%- else -%>
25
- should "render new template when authentication is invalid" do
26
- <%= user_class_name %>.stubs(:authenticate).returns(nil)
27
- post :create
28
- assert_template 'new'
29
- assert_nil session['<%= user_singular_name %>_id']
30
- end
31
-
32
- should "redirect when authentication is valid" do
33
- <%= user_class_name %>.stubs(:authenticate).returns(<%= user_class_name %>.first)
34
- post :create
35
- assert_redirected_to root_url
36
- assert_equal <%= user_class_name %>.first.id, session['<%= user_singular_name %>_id']
37
- end
38
- <%- end -%>
39
- end
40
- end
@@ -1,85 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= user_class_name %>Test < ActiveSupport::TestCase
4
- <%- unless options[:authlogic] -%>
5
- def new_<%= user_singular_name %>(attributes = {})
6
- attributes[:username] ||= 'foo'
7
- attributes[:email] ||= 'foo@example.com'
8
- attributes[:password] ||= 'abc123'
9
- attributes[:password_confirmation] ||= attributes[:password]
10
- <%= user_singular_name %> = <%= user_class_name %>.new(attributes)
11
- <%= user_singular_name %>.valid? # run validations
12
- <%= user_singular_name %>
13
- end
14
-
15
- def setup
16
- <%= user_class_name %>.delete_all
17
- end
18
-
19
- should "be valid" do
20
- assert new_<%= user_singular_name %>.valid?
21
- end
22
-
23
- should "require username" do
24
- assert new_<%= user_singular_name %>(:username => '').errors.on(:username)
25
- end
26
-
27
- should "require password" do
28
- assert new_<%= user_singular_name %>(:password => '').errors.on(:password)
29
- end
30
-
31
- should "require well formed email" do
32
- assert new_<%= user_singular_name %>(:email => 'foo@bar@example.com').errors.on(:email)
33
- end
34
-
35
- should "validate uniqueness of email" do
36
- new_<%= user_singular_name %>(:email => 'bar@example.com').save!
37
- assert new_<%= user_singular_name %>(:email => 'bar@example.com').errors.on(:email)
38
- end
39
-
40
- should "validate uniqueness of username" do
41
- new_<%= user_singular_name %>(:username => 'uniquename').save!
42
- assert new_<%= user_singular_name %>(:username => 'uniquename').errors.on(:username)
43
- end
44
-
45
- should "not allow odd characters in username" do
46
- assert new_<%= user_singular_name %>(:username => 'odd ^&(@)').errors.on(:username)
47
- end
48
-
49
- should "validate password is longer than 3 characters" do
50
- assert new_<%= user_singular_name %>(:password => 'bad').errors.on(:password)
51
- end
52
-
53
- should "require matching password confirmation" do
54
- assert new_<%= user_singular_name %>(:password_confirmation => 'nonmatching').errors.on(:password)
55
- end
56
-
57
- should "generate password hash and salt on create" do
58
- <%= user_singular_name %> = new_<%= user_singular_name %>
59
- <%= user_singular_name %>.save!
60
- assert <%= user_singular_name %>.password_hash
61
- assert <%= user_singular_name %>.password_salt
62
- end
63
-
64
- should "authenticate by username" do
65
- <%= user_singular_name %> = new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret')
66
- <%= user_singular_name %>.save!
67
- assert_equal <%= user_singular_name %>, <%= user_class_name %>.authenticate('foobar', 'secret')
68
- end
69
-
70
- should "authenticate by email" do
71
- <%= user_singular_name %> = new_<%= user_singular_name %>(:email => 'foo@bar.com', :password => 'secret')
72
- <%= user_singular_name %>.save!
73
- assert_equal <%= user_singular_name %>, <%= user_class_name %>.authenticate('foo@bar.com', 'secret')
74
- end
75
-
76
- should "not authenticate bad username" do
77
- assert_nil <%= user_class_name %>.authenticate('nonexisting', 'secret')
78
- end
79
-
80
- should "not authenticate bad password" do
81
- new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret').save!
82
- assert_nil <%= user_class_name %>.authenticate('foobar', 'badpassword')
83
- end
84
- <%- end -%>
85
- end
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= user_plural_class_name %>ControllerTest < ActionController::TestCase
4
- context "new action" do
5
- should "render new template" do
6
- get :new
7
- assert_template 'new'
8
- end
9
- end
10
-
11
- context "create action" do
12
- should "render new template when model is invalid" do
13
- <%= user_class_name %>.any_instance.stubs(:valid?).returns(false)
14
- post :create
15
- assert_template 'new'
16
- end
17
-
18
- should "redirect when model is valid" do
19
- <%= user_class_name %>.any_instance.stubs(:valid?).returns(true)
20
- post :create
21
- assert_redirected_to root_url
22
- <%- unless options[:authlogic] -%>
23
- assert_equal assigns['<%= user_singular_name %>'].id, session['<%= user_singular_name %>_id']
24
- <%- end -%>
25
- end
26
- end
27
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= session_plural_class_name %>ControllerTest < ActionController::TestCase
4
- def test_new
5
- get :new
6
- assert_template 'new'
7
- end
8
-
9
- <%- if options[:authlogic] -%>
10
- def test_create_invalid
11
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "badpassword" }
12
- assert_template 'new'
13
- assert_nil <%= session_class_name %>.find
14
- end
15
-
16
- def test_create_valid
17
- post :create, :<%= session_singular_name %> => { :username => "foo", :password => "secret" }
18
- assert_redirected_to root_url
19
- assert_equal <%= user_plural_name %>(:foo), <%= session_class_name %>.find.<%= user_singular_name %>
20
- end
21
- <%- else -%>
22
- def test_create_invalid
23
- <%= user_class_name %>.stubs(:authenticate).returns(nil)
24
- post :create
25
- assert_template 'new'
26
- assert_nil session['<%= user_singular_name %>_id']
27
- end
28
-
29
- def test_create_valid
30
- <%= user_class_name %>.stubs(:authenticate).returns(<%= user_class_name %>.first)
31
- post :create
32
- assert_redirected_to root_url
33
- assert_equal <%= user_class_name %>.first.id, session['<%= user_singular_name %>_id']
34
- end
35
- <%- end -%>
36
- end
@@ -1,88 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= user_class_name %>Test < ActiveSupport::TestCase
4
- <%- unless options[:authlogic] -%>
5
- def new_<%= user_singular_name %>(attributes = {})
6
- attributes[:username] ||= 'foo'
7
- attributes[:email] ||= 'foo@example.com'
8
- attributes[:password] ||= 'abc123'
9
- attributes[:password_confirmation] ||= attributes[:password]
10
- <%= user_singular_name %> = <%= user_class_name %>.new(attributes)
11
- <%= user_singular_name %>.valid? # run validations
12
- <%= user_singular_name %>
13
- end
14
-
15
- def setup
16
- <%= user_class_name %>.delete_all
17
- end
18
-
19
- def test_valid
20
- assert new_<%= user_singular_name %>.valid?
21
- end
22
-
23
- def test_require_username
24
- assert new_<%= user_singular_name %>(:username => '').errors.on(:username)
25
- end
26
-
27
- def test_require_password
28
- assert new_<%= user_singular_name %>(:password => '').errors.on(:password)
29
- end
30
-
31
- def test_require_well_formed_email
32
- assert new_<%= user_singular_name %>(:email => 'foo@bar@example.com').errors.on(:email)
33
- end
34
-
35
- def test_validate_uniqueness_of_email
36
- new_<%= user_singular_name %>(:email => 'bar@example.com').save!
37
- assert new_<%= user_singular_name %>(:email => 'bar@example.com').errors.on(:email)
38
- end
39
-
40
- def test_validate_uniqueness_of_username
41
- new_<%= user_singular_name %>(:username => 'uniquename').save!
42
- assert new_<%= user_singular_name %>(:username => 'uniquename').errors.on(:username)
43
- end
44
-
45
- def test_validate_odd_characters_in_username
46
- assert new_<%= user_singular_name %>(:username => 'odd ^&(@)').errors.on(:username)
47
- end
48
-
49
- def test_validate_password_length
50
- assert new_<%= user_singular_name %>(:password => 'bad').errors.on(:password)
51
- end
52
-
53
- def test_require_matching_password_confirmation
54
- assert new_<%= user_singular_name %>(:password_confirmation => 'nonmatching').errors.on(:password)
55
- end
56
-
57
- def test_generate_password_hash_and_salt_on_create
58
- <%= user_singular_name %> = new_<%= user_singular_name %>
59
- <%= user_singular_name %>.save!
60
- assert <%= user_singular_name %>.password_hash
61
- assert <%= user_singular_name %>.password_salt
62
- end
63
-
64
- def test_authenticate_by_username
65
- <%= user_class_name %>.delete_all
66
- <%= user_singular_name %> = new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret')
67
- <%= user_singular_name %>.save!
68
- assert_equal <%= user_singular_name %>, <%= user_class_name %>.authenticate('foobar', 'secret')
69
- end
70
-
71
- def test_authenticate_by_email
72
- <%= user_class_name %>.delete_all
73
- <%= user_singular_name %> = new_<%= user_singular_name %>(:email => 'foo@bar.com', :password => 'secret')
74
- <%= user_singular_name %>.save!
75
- assert_equal <%= user_singular_name %>, <%= user_class_name %>.authenticate('foo@bar.com', 'secret')
76
- end
77
-
78
- def test_authenticate_bad_username
79
- assert_nil <%= user_class_name %>.authenticate('nonexisting', 'secret')
80
- end
81
-
82
- def test_authenticate_bad_password
83
- <%= user_class_name %>.delete_all
84
- new_<%= user_singular_name %>(:username => 'foobar', :password => 'secret').save!
85
- assert_nil <%= user_class_name %>.authenticate('foobar', 'badpassword')
86
- end
87
- <%- end -%>
88
- end