docbrown/spec/system/admin/admin_invites_user_spec.rb
Mac Siri 842e6880b8
Routine rubocop fix on /spec (#19217)
* Softrun rubocop

* Hardrun rubocop (-A)

* Change a rubocop rule

* Add missing cops

* Undo & redo rubocop -A
2023-03-21 09:55:26 -04:00

59 lines
1.6 KiB
Ruby

require "rails_helper"
RSpec.describe "Admin invites user" do
let(:admin) { create(:user, :super_admin) }
before do
sign_in admin
end
context "when SMTP is not configured" do
before do
allow(ForemInstance).to receive(:smtp_enabled?).and_return(false)
visit new_admin_invitation_path
end
it "shows a header" do
header = "Setup SMTP to invite users"
expect(page).to have_content(header)
end
it "shows a banner" do
message = "SMTP settings are required so that your Forem can send emails. If you wish to send invites, " \
"email digests and activity notifications you will need to specify which email host will relay those " \
"messages for you."
expect(page).to have_content(message)
end
it "contains a link to the documentation" do
expect(page).to have_link("read more about SMTP Settings in our admin guide")
end
it "contains a link to configure SMTP settings" do
expect(page).to have_link("Configure your SMTP Settings", href: admin_config_path(anchor: "smtp-section"))
end
it "does not contain any for fields" do
expect(page).not_to have_field "Email"
end
it "does not contain any submit buttons" do
expect(page).not_to have_button "Invite User"
end
end
context "when SMTP is configured" do
before do
allow(ForemInstance).to receive(:smtp_enabled?).and_return(true)
visit new_admin_invitation_path
end
it "shows the input field" do
expect(page).to have_field "Email"
end
it "shows the submit button" do
expect(page).to have_button "Invite User"
end
end
end