# frozen_string_literal: true require 'application_system_test_case' class SignInTest < ApplicationSystemTestCase test 'successful sign in' do sign_in assert_title 'Articles' within '.navbar' do assert_link 'existing@example.com' end end test 'all fields are required' do visit root_path click_link 'Sign in' click_button 'Sign in' assert_title 'Sign In' assert_text "Email can't be blank" assert_text "Password can't be blank" end test 'sign in fails when email is incorrect' do visit root_path click_link 'Sign in' fill_in 'Email', with: 'wrong@example.com' fill_in 'Password', with: '123xyz' click_button 'Sign in' assert_title 'Sign In' assert_text 'Invalid email or password' end test 'sign in fails when password is incorrect' do visit root_path click_link 'Sign in' fill_in 'Email', with: 'existing@example.com' fill_in 'Password', with: 'wrong' click_button 'Sign in' assert_title 'Sign In' assert_text 'Invalid email or password' end end