Skip to content

Commit ab34ebc

Browse files
refactor: Remove manage members option from user menu (#2603)
* refactor: Remove `manage members` options from user menu * test: Add test for check `Admin page` in user menu is present if user is admin
1 parent 0216547 commit ab34ebc

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

src/app/layout/user-menu/user-menu.component.html

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,6 @@
150150
<mat-icon>build</mat-icon>
151151
<span i18n="@@ngOrcid.selfService">Member tools </span>
152152
</button>
153-
<button
154-
mat-menu-item
155-
*ngIf="userInfo && userInfo['ADMIN_MENU']"
156-
(click)="goto('manage-members')"
157-
id="cy-manage-members"
158-
>
159-
<mat-icon>group</mat-icon>
160-
<span i18n="#sentenceCase@@ngOrcid.manageMembers">Manage members</span>
161-
</button>
162153
<button
163154
mat-menu-item
164155
*ngIf="userInfo && userInfo['ADMIN_MENU']"

src/app/layout/user-menu/user-menu.component.spec.ts

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { of, ReplaySubject } from 'rxjs'
2525
import { Config } from '../../types/togglz.endpoint'
2626
import { MatIconModule } from '@angular/material/icon'
2727
import { MatIconHarness } from '@angular/material/icon/testing'
28-
import { MatMenuHarness } from '@angular/material/menu/testing'
28+
import { MatMenuHarness, MatMenuItemHarness } from '@angular/material/menu/testing'
2929

3030
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
3131

@@ -85,6 +85,28 @@ describe('UserMenuComponent', () => {
8585
expect(component).toBeTruthy()
8686
})
8787

88+
it('should display user admin actions option if user is admin', async () => {
89+
let mockUserSessionResponse: UserSession = getUserSession();
90+
mockUserSessionResponse.userInfo.ADMIN_MENU = 'true';
91+
92+
component.userInfo = mockUserSessionResponse.userInfo;
93+
94+
fixture.detectChanges()
95+
96+
const matMenu = await loader.getHarness(MatMenuHarness)
97+
await matMenu.open()
98+
99+
fixture.detectChanges()
100+
101+
const isMatMenuOpen = await matMenu.isOpen()
102+
const matMenuItems: MatMenuItemHarness[] = await matMenu.getItems()
103+
const adminPageItem = await matMenuItems[5].getText()
104+
105+
expect(isMatMenuOpen).toBe(true)
106+
expect(matMenuItems.length).toBe(7)
107+
expect(adminPageItem).toContain('Admin page')
108+
})
109+
88110
it('should display 3 as unread notifications count', async () => {
89111
const userMenuButton = fixture.debugElement.query(By.css('#cy-user-info'))
90112
userMenuButton.triggerEventHandler('click', null)
@@ -107,6 +129,7 @@ function getUserSession(): UserSession {
107129
userSession.userInfo = {
108130
REAL_USER_ORCID: '0000-0000-0000-000X',
109131
EFFECTIVE_USER_ORCID: '0000-0000-0000-000X',
132+
IN_DELEGATION_MODE: 'false',
110133
} as UserInfo
111134
userSession.loggedIn = true
112135
userSession.displayName = 'Test Name'

0 commit comments

Comments
 (0)