thoughtbot-clearance 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.textile CHANGED
@@ -1,3 +1,7 @@
1
+ h2. 0.4.7 (2/12/2009)
2
+
3
+ * removed Clearance::Test::TestHelper. one less setup step. all test helpers now in shoulda_macros.
4
+
1
5
  h2. 0.4.6 (2/11/2009)
2
6
 
3
7
  * making the modules behave like mixins again. (hat-tip Eloy Duran)
data/README.textile CHANGED
@@ -6,7 +6,7 @@ Rails authentication for developers who write tests.
6
6
 
7
7
  h2. Integration with Suspenders
8
8
 
9
- Clearance is based on the same conventions and tools as "Suspenders":http://github.com/thoughtbot/suspenders Thus if you use it, you may already have some configuration mentioned below in place.
9
+ Clearance is based on the same conventions and tools as "Suspenders":http://github.com/thoughtbot/suspenders If you use it, you already have some configuration mentioned below.
10
10
 
11
11
  h2. Gem installation (Rails 2.1+)
12
12
 
@@ -15,7 +15,7 @@ In config/environment.rb:
15
15
  config.gem "thoughtbot-clearance",
16
16
  :lib => 'clearance',
17
17
  :source => 'http://gems.github.com',
18
- :version => '>= 0.4.5'
18
+ :version => '>= 0.4.7'
19
19
 
20
20
  In config/environments/test.rb:
21
21
 
@@ -97,13 +97,7 @@ In config/environment.rb:
97
97
 
98
98
  h2. Tests
99
99
 
100
- The tests use "Shoulda":http://thoughtbot.com/projects/shoulda >= 2.9.1 and "Factory Girl":http://thoughtbot.com/projects/factory_girl >= 1.1.5. There needs to be a Clearance module in your test/test_helper.rb:
101
-
102
- class Test::Unit::TestCase
103
- self.use_transactional_fixtures = true
104
- self.use_instantiated_fixtures = false
105
- include Clearance::Test::TestHelper
106
- end
100
+ The tests use "Shoulda":http://thoughtbot.com/projects/shoulda >= 2.9.1 and "Factory Girl":http://thoughtbot.com/projects/factory_girl >= 1.1.5.
107
101
 
108
102
  The generator will create a user factory in test/factories/clearance.rb unless
109
103
  you have it defined somewhere else.
@@ -114,7 +108,7 @@ Rails authentication with Clearance uses the standard approach thoughtbot and ou
114
108
 
115
109
  Users sign up (UsersController) using an email address and a password (User model). They get an email (ClearanceMailer) with a confirmation link to confirm their registration (ConfirmationController).
116
110
 
117
- Registered users can sign in and out (SessionsController). If they forget their password, they request an email (ClearanceMailer) containing a link to change it (PasswordsController).
111
+ Signed up and email confirmed users can sign in and out (SessionsController). If they forget their password, they request an email (ClearanceMailer) containing a link to change it (PasswordsController).
118
112
 
119
113
  h2. Usage: actions which require an authenticated user
120
114
 
@@ -198,6 +192,19 @@ Clearance has a method named sign_user_in that you can overwrite with that logic
198
192
  end
199
193
  end
200
194
 
195
+ h2. Write your own tests with Clearance's helpers
196
+
197
+ sign_in_as, sign_out, should_be_signed_in_as, should_not_be_signed_in, should_deny_access, signed_in_user_context, and more helpers are available in your test suite. Look in vendor/gems/clearance/shoulda_macros for the full list.
198
+
199
+ context "when signed in on GET to new" do
200
+ setup do
201
+ @user = Factory(:email_confirmed_user)
202
+ sign_in_as @user
203
+ get :new
204
+ end
205
+ should_be_signed_in_as { @user }
206
+ end
207
+
201
208
  h2. Authors
202
209
 
203
210
  * thoughtbot, inc.
data/Rakefile CHANGED
@@ -50,7 +50,7 @@ task :default => ['test:all', 'test:features']
50
50
 
51
51
  gem_spec = Gem::Specification.new do |gem_spec|
52
52
  gem_spec.name = "clearance"
53
- gem_spec.version = "0.4.6"
53
+ gem_spec.version = "0.4.7"
54
54
  gem_spec.summary = "Rails authentication for developers who write tests."
55
55
  gem_spec.email = "support@thoughtbot.com"
56
56
  gem_spec.homepage = "http://github.com/thoughtbot/clearance"
@@ -41,14 +41,5 @@ In config/environment.rb:
41
41
  *something* in your config/routes.rb:
42
42
 
43
43
  map.root :controller => 'home'
44
-
45
- 4. To run tests you need to add the Clearance module to your
46
- test/test_helper.rb:
47
-
48
- class Test::Unit::TestCase
49
- self.use_transactional_fixtures = true
50
- self.use_instantiated_fixtures = false
51
- include Clearance::Test::TestHelper
52
- end
53
44
 
54
45
  *******************************************************************************
@@ -20,7 +20,7 @@
20
20
 
21
21
  <ul>
22
22
  <li>
23
- <%= link_to "Register", new_user_path %>
23
+ <%= link_to "Sign up", new_user_path %>
24
24
  </li>
25
25
  <li>
26
26
  <%= link_to "Forgot password?", new_password_path %>
@@ -1,4 +1,4 @@
1
- <h2>Register</h2>
1
+ <h2>Sign up</h2>
2
2
 
3
3
  <% form_for @user do |form| %>
4
4
  <%= render :partial => '/users/form', :object => form %>
data/lib/clearance.rb CHANGED
@@ -9,6 +9,5 @@ require 'clearance/test/functional/confirmations_controller_test'
9
9
  require 'clearance/test/functional/passwords_controller_test'
10
10
  require 'clearance/test/functional/sessions_controller_test'
11
11
  require 'clearance/test/functional/users_controller_test'
12
- require 'clearance/test/test_helper'
13
12
  require 'clearance/test/unit/clearance_mailer_test'
14
13
  require 'clearance/test/unit/user_test'
@@ -217,6 +217,19 @@ end
217
217
  module Clearance
218
218
  module Shoulda
219
219
  module Helpers
220
+ def sign_in_as(user = nil)
221
+ unless user
222
+ user = Factory(:user)
223
+ user.confirm_email!
224
+ end
225
+ @request.session[:user_id] = user.id
226
+ return user
227
+ end
228
+
229
+ def sign_out
230
+ @request.session[:user_id] = nil
231
+ end
232
+
220
233
  def blank_confirmation_options(attribute)
221
234
  opts = { attribute => attribute.to_s }
222
235
  opts.merge("#{attribute}_confirmation".to_sym => "")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thoughtbot-clearance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot, inc.
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2009-02-10 21:00:00 -08:00
18
+ date: 2009-02-11 21:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -107,7 +107,6 @@ files:
107
107
  - lib/clearance/test/functional/passwords_controller_test.rb
108
108
  - lib/clearance/test/functional/sessions_controller_test.rb
109
109
  - lib/clearance/test/functional/users_controller_test.rb
110
- - lib/clearance/test/test_helper.rb
111
110
  - lib/clearance/test/unit
112
111
  - lib/clearance/test/unit/clearance_mailer_test.rb
113
112
  - lib/clearance/test/unit/user_test.rb
@@ -1,20 +0,0 @@
1
- module Clearance
2
- module Test
3
- module TestHelper
4
-
5
- def sign_in_as(user = nil)
6
- unless user
7
- user = Factory(:user)
8
- user.confirm_email!
9
- end
10
- @request.session[:user_id] = user.id
11
- return user
12
- end
13
-
14
- def sign_out
15
- @request.session[:user_id] = nil
16
- end
17
-
18
- end
19
- end
20
- end