12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- require 'test_helper'
- class UsersControllerTest < ActionDispatch::IntegrationTest
- def setup
- @user = users(:daniel)
- @other_user = users(:ben)
- end
- test "should display age correctly" do
- log_in_as @user
- get user_path @user
- assert_select ".user-age", /[A-z]+\: [0-9]+/
- end
- test "should show user" do
- log_in_as @user
- get user_url(@user)
- assert_response :success
- end
- test "should get edit" do
- log_in_as(@user)
- get edit_user_url(@user)
- assert_response :success
- end
- test "should update user" do
- log_in_as(@user)
- patch user_url(@user), params: { user: { email: @user.email, login: @user.login } }
- assert_redirected_to user_url(@user)
- end
- test "should redirect edit when not logged in" do
- get edit_user_path(@user)
- assert_not flash.empty?
- assert_redirected_to login_url
- end
- test "should redirect update when not logged in" do
- patch user_path(@user), params: { user: { name: @user.name,
- email: @user.email } }
- assert_not flash.empty?
- assert_redirected_to login_url
- end
- test "should not allow the name attribute to be edited by non-admin" do
- log_in_as(@user)
- assert_not_equal @user.name, "Wrong Name"
- patch user_path(@user), params: {
- user: { password: 'newpass',
- password_confirmation: 'newpass',
- name: "Wrong Name" } }
- assert_not_equal @user.reload.name, "Wrong Name"
- end
- test "should redirect edit when logged in as wrong user" do
- log_in_as(@other_user)
- get edit_user_path(@user)
- assert flash.empty?
- assert_redirected_to root_url
- end
- test "should redirect update when logged in as wrong user" do
- log_in_as(@other_user)
- patch user_path(@user), params: { user: { name: @user.name,
- email: @user.email } }
- assert flash.empty?
- assert_redirected_to root_url
- end
- end
|