trabajo-afectivo/spec/system/password_reset_verify_spec.rb

53 lines
1.5 KiB
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
require 'rails_helper'
RSpec.describe 'Password Reset verify', type: :system, authenticated_as: false do
context 'with a valid token' do
let(:user) { create(:agent) }
let(:token) { User.password_reset_new_token(user.email)[:token].name }
before do
visit "password_reset_verify/#{token}"
end
it 'resetting password with non matching passwords fail' do
fill_in 'password', with: 'some'
fill_in 'password_confirm', with: 'some2'
click '.js-passwordForm .js-submit'
expect(page).to have_text 'passwords do not match'
end
it 'resetting password with weak password fail' do
fill_in 'password', with: 'some'
fill_in 'password_confirm', with: 'some'
click '.js-passwordForm .js-submit'
expect(page).to have_text 'Invalid password'
end
it 'successfully resets password and logs in' do
new_password = generate :password_valid
fill_in 'password', with: new_password
fill_in 'password_confirm', with: new_password
click '.js-passwordForm .js-submit'
expect(page).to have_text('Your password has been changed')
.and have_selector(".user-menu .user a[title=#{user.login}")
end
end
context 'without a valid token' do
it 'error shown if opened with a not existing token' do
visit 'password_reset_verify/not_existing_token'
expect(page).to have_text 'Token is invalid'
end
end
end