Test login tab/pane rendering in varying configurations.
This commit is contained in:
parent
413c012db8
commit
5bc42660ef
|
@ -215,4 +215,67 @@ feature 'Login', feature: true do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'UI tabs and panes' do
|
||||||
|
context 'when no defaults are changed' do
|
||||||
|
it 'should correctly render tabs and panes' do
|
||||||
|
ensure_tab_pane_correctness
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when signup is disabled' do
|
||||||
|
before do
|
||||||
|
stub_application_setting(signup_enabled: false)
|
||||||
|
end
|
||||||
|
it 'should correctly render tabs and panes' do
|
||||||
|
ensure_tab_pane_correctness
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when ldap is enabled' do
|
||||||
|
before do
|
||||||
|
visit new_user_session_path
|
||||||
|
allow(page).to receive(:form_based_providers).and_return([:ldapmain])
|
||||||
|
allow(page).to receive(:ldap_enabled).and_return(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should correctly render tabs and panes' do
|
||||||
|
ensure_tab_pane_correctness(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when crowd is enabled' do
|
||||||
|
before do
|
||||||
|
visit new_user_session_path
|
||||||
|
allow(page).to receive(:form_based_providers).and_return([:crowd])
|
||||||
|
allow(page).to receive(:crowd_enabled?).and_return(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'tabs and panes should be configured correctly' do
|
||||||
|
ensure_tab_pane_correctness(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_tab_pane_correctness(visit_path=true)
|
||||||
|
if visit_path
|
||||||
|
visit new_user_session_path
|
||||||
|
end
|
||||||
|
ensure_tab_pane_counts
|
||||||
|
ensure_one_active_tab
|
||||||
|
ensure_one_active_pane
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_tab_pane_counts
|
||||||
|
tabs_count = page.all('[role="tab"]').size
|
||||||
|
expect(page).to have_selector('[role="tabpanel"]', count: tabs_count)
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_one_active_tab
|
||||||
|
expect(page).to have_selector('.nav-tabs > li.active', count: 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_one_active_pane
|
||||||
|
expect(page).to have_selector('.tab-pane.active', count: 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue