Compare commits

...

3 Commits

Author SHA1 Message Date
abe9267893 Modified authentication with user_signed_in? and current_user
Some checks are pending
CI / scan_ruby (push) Waiting to run
CI / scan_js (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
2024-08-25 01:20:55 +02:00
0b4825dcbb Updated test 2024-08-25 00:57:05 +02:00
bc05f9c984 fixed tests 2024-08-25 00:46:43 +02:00
6 changed files with 42 additions and 30 deletions

View File

@@ -3,10 +3,24 @@ class ApplicationController < ActionController::Base
before_action :authenticate before_action :authenticate
private private
def current_user
Current.user || authenticate_user_from_session
end
helper_method :current_user
def authenticate_user_from_session
session_record = Session.find_by_id(cookies.signed[:session_token])
Current.session = session_record
Current.user
end
def user_signed_in?
current_user.present?
end
helper_method :user_signed_in?
def authenticate def authenticate
if session_record = Session.find_by_id(cookies.signed[:session_token]) unless user_signed_in?
Current.session = session_record
else
redirect_to sign_in_path redirect_to sign_in_path
end end
end end

View File

@@ -1,4 +1,5 @@
class HomeController < ApplicationController class HomeController < ApplicationController
skip_before_action :authenticate
def index def index
end end
end end

View File

@@ -1,23 +1,19 @@
<p style="color: green"><%= notice %></p> <p style="color: green"><%= notice %></p>
<% if user_signed_in? %>
<p>Signed as <%= Current.user.email %></p> <p>Signed as <%= current_user.email %></p>
<h2>Login and verification</h2>
<h2>Login and verification</h2> <div>
<%= link_to "Change password", edit_password_path %>
<div> </div>
<%= link_to "Change password", edit_password_path %> <div>
</div> <%= link_to "Change email address", edit_identity_email_path %>
</div>
<div> <h2>Access history</h2>
<%= link_to "Change email address", edit_identity_email_path %> <div>
</div> <%= link_to "Devices & Sessions", sessions_path %>
</div>
<h2>Access history</h2> <br>
<%= button_to "Log out", Current.session, method: :delete %>
<div> <% else %>
<%= link_to "Devices & Sessions", sessions_path %> <%= link_to "Log in", sign_in_path %>
</div> <% end %>
<br>
<%= button_to "Log out", Current.session, method: :delete %>

View File

@@ -31,7 +31,8 @@ class SessionsControllerTest < ActionDispatch::IntegrationTest
assert_equal "That email or password is incorrect", flash[:alert] assert_equal "That email or password is incorrect", flash[:alert]
get root_url get root_url
assert_redirected_to sign_in_url # assert_redirected_to sign_in_url
assert_response :success
end end
test "should sign out" do test "should sign out" do

View File

@@ -17,7 +17,7 @@ class VehiclesControllerTest < ActionDispatch::IntegrationTest
test "should create vehicle" do test "should create vehicle" do
assert_difference("Vehicle.count") do assert_difference("Vehicle.count") do
post vehicles_url, params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, type: @vehicle.type } } post vehicles_url, params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, vehicle_type: @vehicle.vehicle_type } }
end end
assert_redirected_to vehicle_url(Vehicle.last) assert_redirected_to vehicle_url(Vehicle.last)
@@ -34,7 +34,7 @@ class VehiclesControllerTest < ActionDispatch::IntegrationTest
end end
test "should update vehicle" do test "should update vehicle" do
patch vehicle_url(@vehicle), params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, type: @vehicle.type } } patch vehicle_url(@vehicle), params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, vehicle_type: @vehicle.vehicle_type } }
assert_redirected_to vehicle_url(@vehicle) assert_redirected_to vehicle_url(@vehicle)
end end

View File

@@ -2,7 +2,7 @@
one: one:
license_plate: MyString license_plate: MyString
type: vehicle_type:
model_year: 2024-08-20 18:58:36 model_year: 2024-08-20 18:58:36
car_brand: MyString car_brand: MyString
model: MyString model: MyString
@@ -10,7 +10,7 @@ one:
two: two:
license_plate: MyString license_plate: MyString
type: vehicle_type:
model_year: 2024-08-20 18:58:36 model_year: 2024-08-20 18:58:36
car_brand: MyString car_brand: MyString
model: MyString model: MyString