jump_in 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/Rakefile +0 -6
- data/lib/generators/jump_in/config_initializer.rb +13 -0
- data/lib/generators/jump_in/install_generator.rb +14 -0
- data/lib/generators/templates/jump_in_initializer.rb +25 -0
- data/lib/jump_in/authentication/cookies.rb +35 -0
- data/lib/jump_in/authentication/session.rb +32 -0
- data/lib/jump_in/authentication.rb +54 -55
- data/lib/jump_in/password_reset.rb +15 -15
- data/lib/jump_in/persistence.rb +2 -0
- data/lib/jump_in/strategies/base.rb +36 -0
- data/lib/jump_in/strategies/by_password.rb +13 -0
- data/lib/jump_in/strategies.rb +2 -0
- data/lib/jump_in/tokenator.rb +25 -0
- data/lib/jump_in/version.rb +1 -1
- data/lib/jump_in.rb +46 -2
- data/spec/dummy/app/models/user_with_secure_password.rb +3 -0
- data/spec/dummy/db/migrate/20150908085412_rename_users_to_user_with_secure_passwords.rb +5 -0
- data/spec/dummy/db/schema.rb +2 -2
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +5280 -0
- data/spec/dummy/spec/classes/configuration_spec.rb +34 -0
- data/spec/dummy/spec/factories.rb +1 -1
- data/spec/dummy/spec/modules/authentication_spec.rb +59 -52
- data/spec/dummy/spec/modules/password_reset_spec.rb +60 -77
- data/spec/dummy/spec/modules/strategies_spec.rb +71 -0
- data/spec/dummy/spec/modules/tokenator_spec.rb +46 -0
- data/spec/dummy/spec/rails_helper.rb +1 -0
- data/spec/dummy/spec/support/common_methods.rb +9 -9
- metadata +29 -42
- data/lib/jump_in/authentication/by_password.rb +0 -13
- data/lib/jump_in/authentication/strategy.rb +0 -16
- data/lib/jump_in/tokenizer.rb +0 -21
- data/spec/dummy/README.rdoc +0 -28
- data/spec/dummy/app/controllers/password_resets_controller.rb +0 -34
- data/spec/dummy/app/controllers/sessions_controller.rb +0 -16
- data/spec/dummy/app/controllers/users_controller.rb +0 -32
- data/spec/dummy/app/mailers/system_mailer.rb +0 -8
- data/spec/dummy/app/models/user.rb +0 -3
- data/spec/dummy/app/views/layouts/application.html.erb +0 -18
- data/spec/dummy/app/views/password_resets/edit.html.erb +0 -9
- data/spec/dummy/app/views/password_resets/new.html.erb +0 -7
- data/spec/dummy/app/views/sessions/new.html.erb +0 -7
- data/spec/dummy/app/views/system_mailer/password_reset.html.erb +0 -2
- data/spec/dummy/app/views/users/show.html.erb +0 -1
- data/spec/dummy/spec/controllers/password_resets_controller_spec.rb +0 -53
- data/spec/dummy/spec/controllers/sessions_controller_spec.rb +0 -36
- data/spec/dummy/spec/controllers/users_controller_spec.rb +0 -20
- data/spec/dummy/spec/integration/logging_spec.rb +0 -18
- data/spec/dummy/spec/integration/reset_password_spec.rb +0 -39
- data/spec/dummy/spec/modules/tokenizer_spec.rb +0 -19
- /data/{README.rdoc → spec/dummy/log/development.log} +0 -0
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jump_in
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- KatarzynaT-B
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-10-01 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: JumpIn provides a set of methods that make building login & logout functionality
|
15
15
|
really simple, with only few steps.
|
@@ -21,30 +21,25 @@ extensions: []
|
|
21
21
|
extra_rdoc_files: []
|
22
22
|
files:
|
23
23
|
- MIT-LICENSE
|
24
|
-
- README.rdoc
|
25
24
|
- Rakefile
|
25
|
+
- lib/generators/jump_in/config_initializer.rb
|
26
|
+
- lib/generators/jump_in/install_generator.rb
|
27
|
+
- lib/generators/templates/jump_in_initializer.rb
|
26
28
|
- lib/jump_in.rb
|
27
29
|
- lib/jump_in/authentication.rb
|
28
|
-
- lib/jump_in/authentication/
|
29
|
-
- lib/jump_in/authentication/
|
30
|
+
- lib/jump_in/authentication/cookies.rb
|
31
|
+
- lib/jump_in/authentication/session.rb
|
30
32
|
- lib/jump_in/password_reset.rb
|
31
|
-
- lib/jump_in/
|
33
|
+
- lib/jump_in/persistence.rb
|
34
|
+
- lib/jump_in/strategies.rb
|
35
|
+
- lib/jump_in/strategies/base.rb
|
36
|
+
- lib/jump_in/strategies/by_password.rb
|
37
|
+
- lib/jump_in/tokenator.rb
|
32
38
|
- lib/jump_in/version.rb
|
33
39
|
- lib/tasks/jump_in_tasks.rake
|
34
|
-
- spec/dummy/README.rdoc
|
35
40
|
- spec/dummy/Rakefile
|
36
41
|
- spec/dummy/app/controllers/application_controller.rb
|
37
|
-
- spec/dummy/app/
|
38
|
-
- spec/dummy/app/controllers/sessions_controller.rb
|
39
|
-
- spec/dummy/app/controllers/users_controller.rb
|
40
|
-
- spec/dummy/app/mailers/system_mailer.rb
|
41
|
-
- spec/dummy/app/models/user.rb
|
42
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
43
|
-
- spec/dummy/app/views/password_resets/edit.html.erb
|
44
|
-
- spec/dummy/app/views/password_resets/new.html.erb
|
45
|
-
- spec/dummy/app/views/sessions/new.html.erb
|
46
|
-
- spec/dummy/app/views/system_mailer/password_reset.html.erb
|
47
|
-
- spec/dummy/app/views/users/show.html.erb
|
42
|
+
- spec/dummy/app/models/user_with_secure_password.rb
|
48
43
|
- spec/dummy/bin/bundle
|
49
44
|
- spec/dummy/bin/rails
|
50
45
|
- spec/dummy/bin/rake
|
@@ -70,20 +65,21 @@ files:
|
|
70
65
|
- spec/dummy/config/secrets.yml
|
71
66
|
- spec/dummy/db/migrate/20150706144746_create_users.rb
|
72
67
|
- spec/dummy/db/migrate/20150717123339_add_password_reset_token_to_users.rb
|
68
|
+
- spec/dummy/db/migrate/20150908085412_rename_users_to_user_with_secure_passwords.rb
|
73
69
|
- spec/dummy/db/schema.rb
|
70
|
+
- spec/dummy/db/test.sqlite3
|
71
|
+
- spec/dummy/log/development.log
|
72
|
+
- spec/dummy/log/test.log
|
74
73
|
- spec/dummy/public/404.html
|
75
74
|
- spec/dummy/public/422.html
|
76
75
|
- spec/dummy/public/500.html
|
77
76
|
- spec/dummy/public/favicon.ico
|
78
|
-
- spec/dummy/spec/
|
79
|
-
- spec/dummy/spec/controllers/sessions_controller_spec.rb
|
80
|
-
- spec/dummy/spec/controllers/users_controller_spec.rb
|
77
|
+
- spec/dummy/spec/classes/configuration_spec.rb
|
81
78
|
- spec/dummy/spec/factories.rb
|
82
|
-
- spec/dummy/spec/integration/logging_spec.rb
|
83
|
-
- spec/dummy/spec/integration/reset_password_spec.rb
|
84
79
|
- spec/dummy/spec/modules/authentication_spec.rb
|
85
80
|
- spec/dummy/spec/modules/password_reset_spec.rb
|
86
|
-
- spec/dummy/spec/modules/
|
81
|
+
- spec/dummy/spec/modules/strategies_spec.rb
|
82
|
+
- spec/dummy/spec/modules/tokenator_spec.rb
|
87
83
|
- spec/dummy/spec/rails_helper.rb
|
88
84
|
- spec/dummy/spec/spec_helper.rb
|
89
85
|
- spec/dummy/spec/support/common_methods.rb
|
@@ -117,7 +113,9 @@ test_files:
|
|
117
113
|
- spec/dummy/public/404.html
|
118
114
|
- spec/dummy/public/422.html
|
119
115
|
- spec/dummy/db/migrate/20150706144746_create_users.rb
|
116
|
+
- spec/dummy/db/migrate/20150908085412_rename_users_to_user_with_secure_passwords.rb
|
120
117
|
- spec/dummy/db/migrate/20150717123339_add_password_reset_token_to_users.rb
|
118
|
+
- spec/dummy/db/test.sqlite3
|
121
119
|
- spec/dummy/db/schema.rb
|
122
120
|
- spec/dummy/config/routes.rb
|
123
121
|
- spec/dummy/config/initializers/inflections.rb
|
@@ -137,34 +135,23 @@ test_files:
|
|
137
135
|
- spec/dummy/config/environments/development.rb
|
138
136
|
- spec/dummy/config/locales/en.yml
|
139
137
|
- spec/dummy/config/secrets.yml
|
140
|
-
- spec/dummy/app/views/users/show.html.erb
|
141
|
-
- spec/dummy/app/views/password_resets/new.html.erb
|
142
|
-
- spec/dummy/app/views/password_resets/edit.html.erb
|
143
|
-
- spec/dummy/app/views/sessions/new.html.erb
|
144
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
145
|
-
- spec/dummy/app/views/system_mailer/password_reset.html.erb
|
146
|
-
- spec/dummy/app/mailers/system_mailer.rb
|
147
|
-
- spec/dummy/app/controllers/users_controller.rb
|
148
|
-
- spec/dummy/app/controllers/sessions_controller.rb
|
149
|
-
- spec/dummy/app/controllers/password_resets_controller.rb
|
150
138
|
- spec/dummy/app/controllers/application_controller.rb
|
151
|
-
- spec/dummy/app/models/
|
139
|
+
- spec/dummy/app/models/user_with_secure_password.rb
|
140
|
+
- spec/dummy/log/development.log
|
141
|
+
- spec/dummy/log/test.log
|
152
142
|
- spec/dummy/bin/rake
|
153
143
|
- spec/dummy/bin/setup
|
154
144
|
- spec/dummy/bin/rails
|
155
145
|
- spec/dummy/bin/bundle
|
156
146
|
- spec/dummy/config.ru
|
157
|
-
- spec/dummy/README.rdoc
|
158
147
|
- spec/dummy/spec/factories.rb
|
159
148
|
- spec/dummy/spec/support/common_methods.rb
|
160
|
-
- spec/dummy/spec/integration/reset_password_spec.rb
|
161
|
-
- spec/dummy/spec/integration/logging_spec.rb
|
162
149
|
- spec/dummy/spec/rails_helper.rb
|
163
|
-
- spec/dummy/spec/
|
164
|
-
- spec/dummy/spec/controllers/sessions_controller_spec.rb
|
165
|
-
- spec/dummy/spec/controllers/users_controller_spec.rb
|
150
|
+
- spec/dummy/spec/classes/configuration_spec.rb
|
166
151
|
- spec/dummy/spec/spec_helper.rb
|
167
152
|
- spec/dummy/spec/modules/password_reset_spec.rb
|
153
|
+
- spec/dummy/spec/modules/strategies_spec.rb
|
154
|
+
- spec/dummy/spec/modules/tokenator_spec.rb
|
168
155
|
- spec/dummy/spec/modules/authentication_spec.rb
|
169
|
-
- spec/dummy/spec/modules/tokenizer_spec.rb
|
170
156
|
- spec/dummy/Rakefile
|
157
|
+
has_rdoc:
|
data/lib/jump_in/tokenizer.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'base64'
|
2
|
-
|
3
|
-
module JumpIn
|
4
|
-
module Tokenizer
|
5
|
-
DELIMITER = '.'.freeze
|
6
|
-
|
7
|
-
def self.generate_token
|
8
|
-
Base64.encode64 [SecureRandom.hex(12), Time.now.xmlschema].join(DELIMITER)
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.decode_and_split_token(token)
|
12
|
-
Base64.decode64(token).split(DELIMITER)
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.decode_time(token)
|
16
|
-
token_time = decode_and_split_token(token)[1]
|
17
|
-
Time.parse(token_time)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
data/spec/dummy/README.rdoc
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
== README
|
2
|
-
|
3
|
-
This README would normally document whatever steps are necessary to get the
|
4
|
-
application up and running.
|
5
|
-
|
6
|
-
Things you may want to cover:
|
7
|
-
|
8
|
-
* Ruby version
|
9
|
-
|
10
|
-
* System dependencies
|
11
|
-
|
12
|
-
* Configuration
|
13
|
-
|
14
|
-
* Database creation
|
15
|
-
|
16
|
-
* Database initialization
|
17
|
-
|
18
|
-
* How to run the test suite
|
19
|
-
|
20
|
-
* Services (job queues, cache servers, search engines, etc.)
|
21
|
-
|
22
|
-
* Deployment instructions
|
23
|
-
|
24
|
-
* ...
|
25
|
-
|
26
|
-
|
27
|
-
Please feel free to use a different markup language if you do not plan to run
|
28
|
-
<tt>rake doc:app</tt>.
|
@@ -1,34 +0,0 @@
|
|
1
|
-
class PasswordResetsController < ApplicationController
|
2
|
-
|
3
|
-
before_filter :authorize_by_token, :only => [:edit, :update]
|
4
|
-
|
5
|
-
def create
|
6
|
-
@user = User.find_by(email: params[:email].downcase)
|
7
|
-
if set_password_reset_for(user: @user)
|
8
|
-
SystemMailer.password_reset(@user).deliver
|
9
|
-
redirect_to login_path
|
10
|
-
else
|
11
|
-
render :new
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def update
|
16
|
-
user = User.where(password_reset_token: params[:token]).first
|
17
|
-
if user && update_password_for(user: user,
|
18
|
-
password: params[:password],
|
19
|
-
password_confirmation: params[:password_confirmation],
|
20
|
-
password_reset_token: params[:token])
|
21
|
-
redirect_to login_path
|
22
|
-
else
|
23
|
-
render :edit
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
def authorize_by_token
|
29
|
-
unless password_reset_valid?(password_reset_token: params[:token])
|
30
|
-
flash[:error] = "Sorry, your password-reset-token is too old"
|
31
|
-
redirect_to new_password_resets_path
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
class SessionsController < ApplicationController
|
2
|
-
|
3
|
-
def create
|
4
|
-
user = User.find_by(email: params[:session][:email].downcase)
|
5
|
-
if login(user: user, password: params[:session][:password], permanent: true)
|
6
|
-
redirect_to user_path(user)
|
7
|
-
else
|
8
|
-
render :new
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def destroy
|
13
|
-
logout
|
14
|
-
redirect_to login_path
|
15
|
-
end
|
16
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
class UsersController < ApplicationController
|
2
|
-
before_filter :authorize, only: :show
|
3
|
-
|
4
|
-
def new
|
5
|
-
@user = User.new
|
6
|
-
end
|
7
|
-
|
8
|
-
def create
|
9
|
-
@user = User.new(user_params)
|
10
|
-
if @user.save
|
11
|
-
redirect_to login_path
|
12
|
-
else
|
13
|
-
render :new
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def show
|
18
|
-
@user = User.find(params[:id])
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def user_params
|
24
|
-
params.require(:user).permit(:name, :email, :password, :password_confirmation)
|
25
|
-
end
|
26
|
-
|
27
|
-
def authorize
|
28
|
-
render nothing: true, status: 401 unless logged_in?
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
</head>
|
5
|
-
<body>
|
6
|
-
<%= link_to "Log out", logout_path, method: :delete %>
|
7
|
-
|
8
|
-
<% flash.each do |type, message| %>
|
9
|
-
<div class="alert flash <%= type %>">
|
10
|
-
<%= message %>
|
11
|
-
</div>
|
12
|
-
<% end %>
|
13
|
-
|
14
|
-
<%= yield %>
|
15
|
-
</body>
|
16
|
-
</html>
|
17
|
-
|
18
|
-
|
@@ -1,9 +0,0 @@
|
|
1
|
-
Edit for PasswordReset
|
2
|
-
|
3
|
-
<%= form_tag password_resets_path, method: :patch do %>
|
4
|
-
<%= password_field_tag :password %>
|
5
|
-
<%= password_field_tag :password_confirmation %>
|
6
|
-
<%= hidden_field_tag :token, params[:token] %>
|
7
|
-
<%= submit_tag "Set new password" %>
|
8
|
-
<% end %>
|
9
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
Show view for user
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# require_relative '../spec_helper.rb'
|
2
|
-
|
3
|
-
# describe PasswordResetsController do
|
4
|
-
# let(:user) { FactoryGirl.create(:user) }
|
5
|
-
# let(:params) { { email: user.email,
|
6
|
-
# password: 'new_password',
|
7
|
-
# password_confirmation:'new_password',
|
8
|
-
# token: user.password_reset_token } }
|
9
|
-
|
10
|
-
# context "POST create" do
|
11
|
-
# it "sets password_reset_token, redirects" do
|
12
|
-
# post :create, { email: user.email, use_route: :password_resets }
|
13
|
-
# user.reload
|
14
|
-
# expect(user.password_reset_token).to_not be_nil
|
15
|
-
# expect(response).to redirect_to(login_path)
|
16
|
-
# end
|
17
|
-
|
18
|
-
# it "raises an error if user not found" do
|
19
|
-
# expect {
|
20
|
-
# post :create, { password_reset: { email: 'email' }, use_route: :password_resets }
|
21
|
-
# }.to raise_error(NoMethodError)
|
22
|
-
# end
|
23
|
-
# end
|
24
|
-
|
25
|
-
# context "PATCH update" do
|
26
|
-
# before(:each) {
|
27
|
-
# user.update_attributes(password_reset_token: JumpIn::Tokenizer.generate_token)
|
28
|
-
# }
|
29
|
-
|
30
|
-
# it "before_filter redirects for token too old" do
|
31
|
-
# user.update_attribute(:password_reset_token, Base64.encode64("#{SecureRandom.hex(10)}.#{5.days.ago}"))
|
32
|
-
# user.reload
|
33
|
-
# patch :update, params.merge( { use_route: :password_resets} )
|
34
|
-
# expect(response).to redirect_to(new_password_resets_path)
|
35
|
-
# end
|
36
|
-
|
37
|
-
# it "allows user to update password and redirects to login_path" do
|
38
|
-
# old_password_digest = user.password_digest
|
39
|
-
# patch :update, params.merge( { use_route: :password_resets} )
|
40
|
-
# user.reload
|
41
|
-
# expect(user.password_digest).to_not eq(old_password_digest)
|
42
|
-
# expect(response).to redirect_to(login_path)
|
43
|
-
# end
|
44
|
-
|
45
|
-
# it "renders edit for password != password_confirmation" do
|
46
|
-
# inv_params = params.dup
|
47
|
-
# inv_params[:password_confirmation] = "another_password"
|
48
|
-
# patch :update, inv_params.merge( { use_route: :password_resets} )
|
49
|
-
# expect(response).to render_template(:edit)
|
50
|
-
# end
|
51
|
-
# end
|
52
|
-
|
53
|
-
# end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# require_relative '../spec_helper.rb'
|
2
|
-
|
3
|
-
# describe SessionsController do
|
4
|
-
# let!(:user) { FactoryGirl.create(:user) }
|
5
|
-
# let(:valid_session) { { user_id: user.id} }
|
6
|
-
# subject(:service) { described_class.new() }
|
7
|
-
|
8
|
-
# context "POST create" do
|
9
|
-
# it "sets cookies[:user_id] if valid user params given, redirects" do
|
10
|
-
# post :create, { session: { email: user.email, password: user.password} }
|
11
|
-
# expect(cookies.signed[:user_id]).to eq(user.id)
|
12
|
-
# expect(response.status).to be(302)
|
13
|
-
# end
|
14
|
-
|
15
|
-
# it "calls login method" do
|
16
|
-
# expect(controller).to receive(:login).exactly(1).times
|
17
|
-
# post :create, { session: { email: user.email, password: user.password} }
|
18
|
-
# end
|
19
|
-
|
20
|
-
# it "doesn't set cookies[:user_id] if invalid user params given, renders new" do
|
21
|
-
# post :create, { session: { email: user.email, password: "wrong_password"} }
|
22
|
-
# expect(cookies.signed[:user_id]).to be_nil
|
23
|
-
# expect(response).to render_template(:new)
|
24
|
-
# end
|
25
|
-
# end
|
26
|
-
|
27
|
-
# context "DELETE destroy" do
|
28
|
-
# it "sets cookies[:user_id] to nil" do
|
29
|
-
# cookies.signed[:user_id] = user.id
|
30
|
-
# expect([cookies.signed[:user_id]]).to eq([user.id])
|
31
|
-
# delete :destroy
|
32
|
-
# expect([cookies.signed[:user_id]]).to eq([nil])
|
33
|
-
# end
|
34
|
-
# end
|
35
|
-
|
36
|
-
# end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# require_relative '../spec_helper.rb'
|
2
|
-
|
3
|
-
# describe UsersController do
|
4
|
-
# let!(:user) { FactoryGirl.create(:user) }
|
5
|
-
# let(:valid_session) { { user_id: user.id} }
|
6
|
-
|
7
|
-
# context "GET show" do
|
8
|
-
# it "renders nothing if user not logged in" do
|
9
|
-
# get :show, use_route: :users
|
10
|
-
# expect(response.status).to be(401)
|
11
|
-
# expect(response.body).to be_blank
|
12
|
-
# end
|
13
|
-
|
14
|
-
# it "renders template show if user logged in" do
|
15
|
-
# get :show, { id: user.id, use_route: :users }, valid_session
|
16
|
-
# expect(response.status).to be(200)
|
17
|
-
# end
|
18
|
-
# end
|
19
|
-
|
20
|
-
# end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# require_relative '../spec_helper.rb'
|
2
|
-
|
3
|
-
# describe "Logging in" do
|
4
|
-
# let!(:user) { FactoryGirl.create(:user) }
|
5
|
-
|
6
|
-
# it "allows user to log in and visit Users#show" do
|
7
|
-
# visit 'login'
|
8
|
-
# expect(page).to have_content("Login Page")
|
9
|
-
# fill_in "session_email", with: user.email
|
10
|
-
# fill_in "session_password", with: user.password
|
11
|
-
# click_button "Log in"
|
12
|
-
# expect(page).to have_content("Show view for user")
|
13
|
-
|
14
|
-
# click_link "Log out"
|
15
|
-
# expect(page).to have_content("Login Page")
|
16
|
-
# end
|
17
|
-
|
18
|
-
# end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# require_relative '../spec_helper.rb'
|
2
|
-
|
3
|
-
# describe "Resetting password" do
|
4
|
-
# let!(:user) { FactoryGirl.create(:user) }
|
5
|
-
|
6
|
-
# it 'allows user to send reset password link' do
|
7
|
-
# visit new_password_resets_path
|
8
|
-
# expect(page).to have_content('Reset Password Page')
|
9
|
-
# fill_in 'email', with: user.email
|
10
|
-
# click_button 'Reset password'
|
11
|
-
# expect(page).to have_content('Login Page')
|
12
|
-
# end
|
13
|
-
|
14
|
-
# it 'redirects to login path after password update' do
|
15
|
-
# user.update_attribute(:password_reset_token, JumpIn::Tokenizer.generate_token)
|
16
|
-
# visit edit_password_resets_path(token: user.password_reset_token)
|
17
|
-
# expect(page).to have_content("Edit for PasswordReset")
|
18
|
-
# fill_in "password", with: 'new_password'
|
19
|
-
# fill_in "password_confirmation", with: 'new_password'
|
20
|
-
# click_button "Set new password"
|
21
|
-
# expect(page).to have_content("Login Page")
|
22
|
-
# end
|
23
|
-
|
24
|
-
# it 'doest allow for password reset if token too old' do
|
25
|
-
# user.update_attribute(:password_reset_token, Base64.encode64("#{SecureRandom.hex(10)}.#{5.days.ago}"))
|
26
|
-
# visit edit_password_resets_path(token: user.password_reset_token)
|
27
|
-
# expect(page).to have_content("password-reset-token is too old")
|
28
|
-
# end
|
29
|
-
|
30
|
-
# it 'displays edit page when password does not match password_confirmation' do
|
31
|
-
# user.update_attribute(:password_reset_token, JumpIn::Tokenizer.generate_token)
|
32
|
-
# visit edit_password_resets_path(token: user.password_reset_token)
|
33
|
-
# expect(page).to have_content('Edit for PasswordReset')
|
34
|
-
# fill_in 'password', with: 'new_password'
|
35
|
-
# fill_in 'password_confirmation', with: 'another_password'
|
36
|
-
# click_button 'Set new password'
|
37
|
-
# expect(page).to have_content('Edit for PasswordReset')
|
38
|
-
# end
|
39
|
-
# end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require_relative '../spec_helper'
|
2
|
-
|
3
|
-
describe JumpIn::Tokenizer do
|
4
|
-
|
5
|
-
context ".generate_token" do
|
6
|
-
it 'generates token' do
|
7
|
-
token = JumpIn::Tokenizer.generate_token
|
8
|
-
expect(token).to_not eq(nil)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context ".decode_time" do
|
13
|
-
it "decodes time correctly" do
|
14
|
-
time = Time.now.xmlschema
|
15
|
-
token = Base64.encode64 [SecureRandom.hex(12), time].join(JumpIn::Tokenizer::DELIMITER)
|
16
|
-
expect(JumpIn::Tokenizer.decode_time(token)).to eq(time)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
File without changes
|