discourse/spec/system/user_page/hide_from_public_spec.rb

26 lines
1.0 KiB
Ruby

# frozen_string_literal: true
describe "hide_user_profiles_from_public", type: :system do
let(:user) { Fabricate(:user) }
before { SiteSetting.hide_user_profiles_from_public = true }
it "displays an error when navigating straight to a profile" do
visit("/u/#{user.username}")
expect(page).to have_css(".error-page .reason", text: I18n.t("js.errors.reasons.forbidden"))
expect(page).to have_css(".error-page .desc", text: I18n.t("js.user.login_to_view_profile"))
end
it "displays an error when navigating from an internal link" do
Fabricate(:post, user: user)
visit("/latest")
find("[data-user-card='#{user.username}']").click
expect(page).to have_css(".error-page .reason", text: I18n.t("js.errors.reasons.forbidden"))
expect(page).to have_css(".error-page .desc", text: I18n.t("js.user.login_to_view_profile"))
expect(page).to have_current_path("/u/#{user.username}")
find(".error-page .buttons .btn-primary", text: "Back").click
expect(page).to have_current_path("/latest")
end
end