require "test_helper"

class Admin::AccountSettings::ProfileControllerTest < ActionDispatch::IntegrationTest
  test "should redirect when not login" do
    get admin_account_settings_profile_path
    assert_response :redirect
  end

  test "should view admin settings prifle page when login" do
    post login_path, params: {user: {
      email: users(:user_one).email,
      password: "12345678"
    }}

    get admin_account_settings_profile_path
    assert_response :success
  end

  test "should update avatar" do
    @user = users(:user_two)

    assert_equal false, @user.avatar.attached?

    post login_path, params: {user: {
      email: @user.email,
      password: "12345678aa"
    }}

    follow_redirect!

    post admin_account_settings_profile_avatar_path, params: {
      user: {
        avatar: fixture_file_upload("main_bg.png", "image/png")
      }
    }
    assert_response :redirect
    user = User.find_by(email: @user.email)
    assert_equal true, user.avatar.attached?
    assert_equal "main_bg.png", user.avatar.variant(:thumb).blob.filename.to_s
  end
end
