+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
require 'integration_helper'
class AjaxErrorsTest < ActionDispatch::IntegrationTest
end
test 'load pane with deleted session' do
+ skip 'unreliable test'
# Simulate loading a page in browser-tab A, hitting "Log out" in
# browser-tab B, then returning to browser-tab A and choosing a
# different tab. (Automatic tab refreshes will behave similarly.)
ActionDispatch::Request::Session.any_instance.stubs(:[]).returns(nil)
click_link "Subprojects"
wait_for_ajax
- assert_no_selector '.container-fluid .container-fluid'
- assert_no_text 'If you have never used'
- assert_text 'Reload tab'
+ assert_no_double_layout
+ assert_selector 'a,button', text: 'Reload tab'
assert_selector '.pane-error-display'
page.driver.browser.switch_to.frame 0
assert_text 'You are not logged in.'
end
test 'load pane with expired token' do
+ skip 'unreliable test'
# Similar to 'deleted session'. Here, the session cookie is still
# alive, but it contains a token which has expired. This uses a
# different code path because Workbench cannot detect that
end
click_link "Subprojects"
wait_for_ajax
- assert_no_selector '.container-fluid .container-fluid'
- assert_no_text 'If you have never used'
- assert_text 'Reload tab'
+ assert_no_double_layout
+ assert_selector 'a,button', text: 'Reload tab'
assert_selector '.pane-error-display'
page.driver.browser.switch_to.frame 0
assert_text 'You are not logged in.'
end
+
+ protected
+
+ def assert_no_double_layout
+ # Check we're not rendering a full page layout within a tab
+ # pane. Bootstrap responsive layouts require exactly one
+ # div.container-fluid. Checking "body body" would be more generic,
+ # but doesn't work when the browser/driver automatically collapses
+ # syntatically invalid tags.
+ assert_no_selector '.container-fluid .container-fluid'
+ end
end