Skip to content
Snippets Groups Projects
Verified Commit f8689415 authored by Mark Florian's avatar Mark Florian :two:
Browse files

Use new navigation in more specs

Part of #420121.
parent 032487c4
No related branches found
No related tags found
2 merge requests!135637Implement secret detection gem scanning logic,!135605Use new navigation in more specs
......@@ -29,7 +29,6 @@ import initBreadcrumbs from './breadcrumb';
import initPersistentUserCallouts from './persistent_user_callouts';
import { initUserTracking, initDefaultTrackers } from './tracking';
import { initSidebarTracking } from './pages/shared/nav/sidebar_tracking';
import initServicePingConsent from './service_ping_consent';
import GlFieldErrors from './gl_field_errors';
import initUserPopovers from './user_popovers';
import initBroadcastNotifications from './broadcast_notification';
......@@ -93,7 +92,6 @@ function deferredInitialisation() {
initBreadcrumbs();
initPrefetchLinks('.js-prefetch-document');
initLogoAnimation();
initServicePingConsent();
initUserPopovers();
initBroadcastNotifications();
initPersistentUserCallouts();
......
import $ from 'jquery';
import { createAlert } from '~/alert';
import axios from './lib/utils/axios_utils';
import { parseBoolean } from './lib/utils/common_utils';
import { __ } from './locale';
export default () => {
$('body').on('click', '.js-service-ping-consent-action', (e) => {
e.preventDefault();
e.stopImmediatePropagation(); // overwrite rails listener
const { url, checkEnabled, servicePingEnabled } = e.target.dataset;
const data = {
application_setting: {
version_check_enabled: parseBoolean(checkEnabled),
service_ping_enabled: parseBoolean(servicePingEnabled),
},
};
const hideConsentMessage = () =>
document.querySelector('.service-ping-consent-message .js-close')?.click();
axios
.put(url, data)
.then(() => {
hideConsentMessage();
})
.catch(() => {
hideConsentMessage();
createAlert({
message: __('Something went wrong. Try again later.'),
});
});
});
};
......@@ -8,7 +8,7 @@
- c.with_actions do
- send_service_data_path = admin_application_settings_path(application_setting: { version_check_enabled: 1, usage_ping_enabled: 1 })
- not_now_path = admin_application_settings_path(application_setting: { version_check_enabled: 0, usage_ping_enabled: 0 })
= render Pajamas::ButtonComponent.new(href: send_service_data_path, method: :put, variant: :confirm, button_options: { 'data-url' => admin_application_settings_path, 'data-check-enabled': true, 'data-service-ping-enabled': true, class: 'js-service-ping-consent-action alert-link' }) do
= render Pajamas::ButtonComponent.new(href: send_service_data_path, method: :put, variant: :confirm, button_options: { class: 'alert-link' }) do
= _('Send service data')
= render Pajamas::ButtonComponent.new(href: not_now_path, method: :put, button_options: { 'data-url' => admin_application_settings_path, 'data-check-enabled': false, 'data-service-ping-enabled': false, class: 'js-service-ping-consent-action alert-link gl-ml-3' }) do
= render Pajamas::ButtonComponent.new(href: not_now_path, method: :put, button_options: { class: 'alert-link gl-ml-3' }) do
= _("Don't send service data")
......@@ -45445,9 +45445,6 @@ msgstr ""
msgid "Something went wrong. Please try again."
msgstr ""
 
msgid "Something went wrong. Try again later."
msgstr ""
msgid "Something went wrong. Unable to create identity verification exemption."
msgstr ""
 
......@@ -5,7 +5,7 @@
RSpec.describe 'Group Package and registry settings', feature_category: :package_registry do
include WaitForRequests
let(:user) { create(:user, :no_super_sidebar) }
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:sub_group) { create(:group, parent: group) }
......@@ -20,12 +20,13 @@
stub_packages_setting(enabled: false)
end
it 'the menu item is not visible' do
it 'the menu item is not visible', :js do
visit group_path(group)
settings_menu = find_settings_menu
expect(settings_menu).not_to have_content 'Packages and registries'
within_testid('super-sidebar') do
click_button 'Settings'
expect(page).not_to have_content 'Packages and registries'
end
end
it 'renders 404 when navigating to page' do
......@@ -36,11 +37,13 @@
end
context 'when packages feature is enabled on the group' do
it 'the menu item is visible' do
it 'the menu item is visible', :js do
visit group_path(group)
settings_menu = find_settings_menu
expect(settings_menu).to have_content 'Packages and registries'
within_testid('super-sidebar') do
click_button 'Settings'
expect(page).to have_content 'Packages and registries'
end
end
it 'has a page title set' do
......@@ -49,11 +52,12 @@
expect(page).to have_title _('Packages and registries settings')
end
it 'sidebar menu is open' do
it 'sidebar menu is open', :js do
visit_settings_page
sidebar = find('.nav-sidebar')
expect(sidebar).to have_link _('Packages and registries')
within_testid('super-sidebar') do
expect(page).to have_link _('Packages and registries')
end
end
it 'passes axe automated accessibility testing', :js do
......@@ -62,7 +66,7 @@
wait_for_requests
expect(page).to be_axe_clean.within('[data-testid="packages-and-registries-group-settings"]')
.skipping :'link-in-text-block'
.skipping :'link-in-text-block', :'heading-order'
end
it 'has a Duplicate packages section', :js do
......@@ -124,10 +128,6 @@
end
end
def find_settings_menu
find('.shortcuts-settings ul')
end
def visit_settings_page
visit group_settings_packages_and_registries_path(group)
end
......
......@@ -5,7 +5,7 @@
RSpec.describe 'Projects > Settings > For a forked project', :js, feature_category: :groups_and_projects do
include ListboxHelpers
let_it_be(:user) { create(:user, :no_super_sidebar) }
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :repository, create_templates: :issue, namespace: user.namespace) }
before do
......@@ -15,13 +15,10 @@
describe 'Sidebar > Monitor' do
it 'renders the menu in the sidebar' do
visit project_path(project)
wait_for_requests
expect(page).to have_selector(
'.sidebar-sub-level-items a[aria-label="Error Tracking"]',
text: 'Error Tracking',
visible: :hidden
)
within_testid('super-sidebar') do
expect(page).to have_link('Error Tracking', visible: :hidden)
end
end
end
......
......@@ -4,7 +4,7 @@
RSpec.describe 'Project > Settings > Packages and registries > Container registry tag expiration policy',
feature_category: :groups_and_projects do
let_it_be(:user) { create(:user, :no_super_sidebar) }
let_it_be(:user) { create(:user) }
let_it_be(:project, reload: true) { create(:project, namespace: user.namespace) }
let(:container_registry_enabled) { true }
......@@ -24,9 +24,10 @@
it 'shows active tab on sidebar' do
subject
expect(find('.sidebar-top-level-items > li.active')).to have_content('Settings')
expect(find('.sidebar-sub-level-items > li.active:not(.fly-out-top-item)'))
.to have_content('Packages and registries')
within_testid('super-sidebar') do
expect(page).to have_selector('button[aria-expanded="true"]', text: 'Settings')
expect(page).to have_selector('[aria-current="page"]', text: 'Packages and registries')
end
end
it 'shows available section' do
......@@ -44,7 +45,7 @@
wait_for_requests
expect(page).to be_axe_clean.within('[data-testid="container-expiration-policy-project-settings"]')
.skipping :'link-in-text-block'
.skipping :'link-in-text-block', :'heading-order'
end
it 'saves cleanup policy submit the form' do
......
......@@ -4,7 +4,7 @@
RSpec.describe 'Project > Settings > Packages and registries > Container registry tag expiration policy',
feature_category: :groups_and_projects do
let_it_be(:user) { create(:user, :no_super_sidebar) }
let_it_be(:user) { create(:user) }
let_it_be(:project, reload: true) { create(:project, namespace: user.namespace) }
let(:container_registry_enabled) { true }
......@@ -27,15 +27,16 @@
wait_for_requests
expect(page).to be_axe_clean.within('[data-testid="packages-and-registries-project-settings"]')
.skipping :'link-in-text-block'
.skipping :'link-in-text-block', :'heading-order'
end
it 'shows active tab on sidebar' do
subject
expect(find('.sidebar-top-level-items > li.active')).to have_content('Settings')
expect(find('.sidebar-sub-level-items > li.active:not(.fly-out-top-item)'))
.to have_content('Packages and registries')
within_testid('super-sidebar') do
expect(page).to have_selector('button[aria-expanded="true"]', text: 'Settings')
expect(page).to have_selector('[aria-current="page"]', text: 'Packages and registries')
end
end
it 'shows available section' do
......
......@@ -4,7 +4,7 @@
RSpec.describe 'Usage stats consent', feature_category: :service_ping do
context 'when signed in' do
let(:user) { create(:admin, :no_super_sidebar, created_at: 8.days.ago) }
let(:user) { create(:admin, created_at: 8.days.ago) }
let(:message) { 'To help improve GitLab, we would like to periodically collect usage information.' }
before do
......@@ -22,24 +22,29 @@
gitlab_enable_admin_mode_sign_in(user)
end
it 'hides the banner permanently when sets usage stats' do
visit root_dashboard_path
shared_examples 'dismissible banner' do |button_text|
it 'hides the banner permanently when sets usage stats', :js do
visit root_dashboard_path
expect(page).to have_content(message)
expect(page).to have_content(message)
click_link 'Send service data'
click_link button_text
expect(page).not_to have_content(message)
expect(page).to have_content('Application settings saved successfully')
expect(page).not_to have_content(message)
expect(page).to have_content('Application settings saved successfully')
gitlab_sign_out
gitlab_sign_in(user)
visit root_dashboard_path
gitlab_sign_out
gitlab_sign_in(user)
visit root_dashboard_path
expect(page).not_to have_content(message)
expect(page).not_to have_content(message)
end
end
it 'shows banner on next session if user did not set usage stats' do
it_behaves_like 'dismissible banner', _('Send service data')
it_behaves_like 'dismissible banner', _("Don't send service data")
it 'shows banner on next session if user did not set usage stats', :js do
visit root_dashboard_path
expect(page).to have_content(message)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment