1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe 'Login > Public Links', authenticated_as: false, type: :system do
- context 'with showing public links' do
- let(:links) do
- first_link = create(:public_link, title: 'Zammad Community', link: 'https://zammad.org')
- second_link = create(:public_link, title: 'Zammad Company', link: 'https://zammad.com')
- {
- first: first_link,
- second: second_link,
- }
- end
- shared_examples 'displays public links in footer' do
- it 'shows public links in footer' do
- expect(page).to have_link('Zammad Community', href: 'https://zammad.org')
- expect(page).to have_link('Zammad Company', href: 'https://zammad.com')
- end
- end
- context 'with enabled user_create_account setting' do
- before do
- links
- setup(user_create_account: true)
- end
- include_examples 'displays public links in footer'
- end
- context 'with disabled user_create_account setting' do
- before do
- links
- setup(user_create_account: false)
- end
- include_examples 'displays public links in footer'
- end
- context 'with no public links' do
- before do
- visit_login
- end
- it 'does not show public links in footer' do
- link_tags = find_all(:xpath, '//a[@href="#signup"]//../a')
- expect(link_tags.size).to eq(1)
- end
- end
- end
- def setup(user_create_account:)
- Setting.set('user_create_account', user_create_account)
- visit_login
- end
- def visit_login
- visit '/'
- ensure_websocket
- end
- end
|