diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 30ac1c4..b2ff728 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -3,7 +3,7 @@ class SessionsController < ApplicationController end def create - @user = User.find_by(username: params[:username]) + @user = User.find_by(email: params[:email]) if @user && @user.authenticate(params[:password]) session[:user_id] = @user.id end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 4698680..9392fc5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -4,7 +4,7 @@ class UsersController < ApplicationController end def create - @user = User.create(params.require(:user).permit(:username, :password)) + @user = User.create(params.require(:user).permit(:email, :password)) session[:user_id] = @user.id redirect_to '/welcome' end diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index c22d0c3..67db6f9 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -1,7 +1,7 @@

Login

<%= form_tag '/login' do %> - <%= label_tag :username%> - <%= text_field_tag :username %> + <%= label_tag :email%> + <%= text_field_tag :email %> <%= label_tag :password%> <%= password_field_tag :password%> <%= submit_tag "Login"%> diff --git a/app/views/sessions/welcome.html.erb b/app/views/sessions/welcome.html.erb index 640f008..b97e9cf 100644 --- a/app/views/sessions/welcome.html.erb +++ b/app/views/sessions/welcome.html.erb @@ -1,6 +1,6 @@

Welcome

<% if logged_in? %> -

You are Logged In, <%= current_user.username %>

+

You are Logged In, <%= current_user.email %>

<%= button_to "Logout", '/logout', method: :get%> <%else%> <%= button_to "Login", '/login', method: :get%> diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index ac34536..51a2e32 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -1,7 +1,7 @@

Sign Up

<%= form_for @user do |f|%> - <%= f.label :username%>
- <%= f.text_field :username%>
+ <%= f.label :email%>
+ <%= f.text_field :email%>
<%= f.label :password%>
<%= f.password_field :password%>
<%= f.submit %> diff --git a/db/migrate/20210320212922_change_username_to_email.rb b/db/migrate/20210320212922_change_username_to_email.rb new file mode 100644 index 0000000..7ee7a5a --- /dev/null +++ b/db/migrate/20210320212922_change_username_to_email.rb @@ -0,0 +1,5 @@ +class ChangeUsernameToEmail < ActiveRecord::Migration[6.1] + def change + rename_column :users, :username, :email + end +end diff --git a/db/schema.rb b/db/schema.rb index f541248..7240eeb 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_03_20_130542) do +ActiveRecord::Schema.define(version: 2021_03_20_212922) do create_table "authors", force: :cascade do |t| t.string "first_name" @@ -39,7 +39,7 @@ ActiveRecord::Schema.define(version: 2021_03_20_130542) do end create_table "users", force: :cascade do |t| - t.string "username" + t.string "email" t.string "password_digest" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index cd64b2f..90e5974 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -3,12 +3,12 @@ require 'rails_helper' RSpec.describe ApplicationController do describe 'current_user' do before(:all) do - User.create(username: 'karol.selak@gmail.com', password: 'abcde') + User.create(email: 'karol.selak@gmail.com', password: 'abcde') end context 'when a user is logged in' do it 'returns the user' do # TODO - # expect(current_user.username).to eql('karol.selak@gmail.com') + # expect(current_user.email).to eql('karol.selak@gmail.com') end end end diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index bf36687..8253db7 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -12,11 +12,11 @@ RSpec.describe UsersController do User.destroy_all end subject { - get :create, params: {user: {username: 'karol.selak@gmail.com', password: 'abcde'}} + get :create, params: {user: {email: 'karol.selak@gmail.com', password: 'abcde'}} } it 'creates a user' do subject - expect(User.where(username: 'karol.selak@gmail.com').size).to eql(1) + expect(User.where(email: 'karol.selak@gmail.com').size).to eql(1) end it 'redirects to /welcome' do subject