Test login tab/pane rendering in varying configurations.

This commit is contained in:
Bryce Johnson 2016-10-24 13:26:48 +02:00
parent 413c012db8
commit 5bc42660ef
1 changed files with 63 additions and 0 deletions

View File

@ -215,4 +215,67 @@ feature 'Login', feature: true do
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