Files
openfoodnetwork/spec/system/consumer/account/settings_spec.rb
Matt-Yorkley b51891f1ab ActionMailer::MailDeliveryJob is the new default class for mailer handling
ActionMailer::DeliveryJob is deprecated in favour of ActionMailer::MailDeliveryJob, and will be removed in Rails 7
2022-01-05 15:35:22 +00:00

58 lines
1.8 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# frozen_string_literal: true
require 'system_helper'
describe "Account Settings", js: true do
include AuthenticationHelper
include OpenFoodNetwork::EmailHelper
describe "as a logged in user" do
let(:user) do
create(:user,
email: 'old@email.com',
password: 'OriginalPassword',
password_confirmation: 'OriginalPassword')
end
before do
setup_email
login_as user
visit "/account"
find("a", text: /#{I18n.t('spree.users.show.tabs.settings')}/i).click
expect(page).to have_content I18n.t('spree.users.form.account_settings')
end
it "allows the user to update their email address" do
fill_in 'user_email', with: 'new@email.com'
performing_deliveries do
expect do
click_button I18n.t(:update)
end.to enqueue_job ActionMailer::MailDeliveryJob
end
expect(enqueued_jobs.last.to_s).to match "new@email.com"
expect(find(".alert-box.success").text.strip).to eq "#{I18n.t('spree.account_updated')}\n×"
user.reload
expect(user.email).to eq 'old@email.com'
expect(user.unconfirmed_email).to eq 'new@email.com'
find("a", text: /#{I18n.t('spree.users.show.tabs.settings')}/i).click
expect(page).to have_content I18n.t('spree.users.show.unconfirmed_email',
unconfirmed_email: 'new@email.com')
end
it "allows the user to change their password" do
initial_password = user.encrypted_password
fill_in 'user_password', with: 'NewPassword'
fill_in 'user_password_confirmation', with: 'NewPassword'
click_button I18n.t(:update)
expect(find(".alert-box.success").text.strip).to eq "#{I18n.t('spree.account_updated')}\n×"
expect(user.reload.encrypted_password).to_not eq initial_password
end
end
end