Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/super_sidebar/components/user_menu_spec.js')
-rw-r--r--spec/frontend/super_sidebar/components/user_menu_spec.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/spec/frontend/super_sidebar/components/user_menu_spec.js b/spec/frontend/super_sidebar/components/user_menu_spec.js
index 4af3247693b..7d50a2b3441 100644
--- a/spec/frontend/super_sidebar/components/user_menu_spec.js
+++ b/spec/frontend/super_sidebar/components/user_menu_spec.js
@@ -506,6 +506,64 @@ describe('UserMenu component', () => {
});
});
+ describe('Admin Mode items', () => {
+ const findEnterAdminModeItem = () => wrapper.findByTestId('enter-admin-mode-item');
+ const findLeaveAdminModeItem = () => wrapper.findByTestId('leave-admin-mode-item');
+
+ describe('when user is not admin', () => {
+ it('should not render', () => {
+ createWrapper({
+ admin_mode: {
+ user_is_admin: false,
+ },
+ });
+ expect(findEnterAdminModeItem().exists()).toBe(false);
+ expect(findLeaveAdminModeItem().exists()).toBe(false);
+ });
+ });
+
+ describe('when user is admin but admin mode feature is not enabled', () => {
+ it('should not render', () => {
+ createWrapper({
+ admin_mode: {
+ user_is_admin: true,
+ admin_mode_feature_enabled: false,
+ },
+ });
+ expect(findEnterAdminModeItem().exists()).toBe(false);
+ expect(findLeaveAdminModeItem().exists()).toBe(false);
+ });
+ });
+
+ describe('when user is admin, admin mode feature is enabled but inactive', () => {
+ it('should render only "enter admin mode" item', () => {
+ createWrapper({
+ admin_mode: {
+ user_is_admin: true,
+ admin_mode_feature_enabled: true,
+ admin_mode_active: false,
+ },
+ });
+ expect(findEnterAdminModeItem().exists()).toBe(true);
+ expect(findLeaveAdminModeItem().exists()).toBe(false);
+ });
+ });
+
+ describe('when user is admin, admin mode feature is enabled and active', () => {
+ it('should render only "leave admin mode" item', () => {
+ createWrapper({
+ admin_mode: {
+ user_is_admin: true,
+ admin_mode_feature_enabled: true,
+ admin_mode_active: true,
+ },
+ });
+ expect(findEnterAdminModeItem().exists()).toBe(false);
+ expect(findLeaveAdminModeItem().exists()).toBe(true);
+ });
+ });
+ });
+
describe('Sign out group', () => {
const findSignOutGroup = () => wrapper.findByTestId('sign-out-group');