-
+
-
-
+
(current)
diff --git a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.html b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.html
index 736d39d318..e730b0d85c 100644
--- a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.html
+++ b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.html
@@ -1,10 +1,13 @@
diff --git a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts
index 983fe68274..5576b942b3 100644
--- a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts
+++ b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts
@@ -162,10 +162,24 @@ describe('UserMenuComponent', () => {
});
it('should display user name and email', () => {
- const user = 'User Test (test@test.com)';
+ const username = 'User Test';
+ const email = 'test@test.com';
const span = deUserMenu.query(By.css('.dropdown-item-text'));
expect(span).toBeDefined();
- expect(span.nativeElement.innerHTML).toBe(user);
+ expect(span.nativeElement.innerHTML).toContain(username);
+ expect(span.nativeElement.innerHTML).toContain(email);
+ });
+
+ it('should create logout component', () => {
+ const components = fixture.debugElement.query(By.css('[data-test="log-out-component"]'));
+ expect(components).toBeTruthy();
+ });
+
+ it('should not create logout component', () => {
+ component.inExpandableNavbar = true;
+ fixture.detectChanges();
+ const components = fixture.debugElement.query(By.css('[data-test="log-out-component"]'));
+ expect(components).toBeFalsy();
});
});
diff --git a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
index aa78be9749..22b076c31a 100644
--- a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
+++ b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, Input, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { select, Store } from '@ngrx/store';
@@ -20,6 +20,11 @@ import { getProfileModuleRoute } from '../../../app-routing-paths';
})
export class UserMenuComponent implements OnInit {
+ /**
+ * The input flag to show user details in navbar expandable menu
+ */
+ @Input() inExpandableNavbar = false;
+
/**
* True if the authentication is loading.
* @type {Observable
}
diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5
index 597f226cc7..eb0d788206 100644
--- a/src/assets/i18n/en.json5
+++ b/src/assets/i18n/en.json5
@@ -2862,7 +2862,9 @@
"nav.login": "Log In",
- "nav.logout": "User profile menu and Log Out",
+ "nav.user-profile-menu-and-logout": "User profile menu and Log Out",
+
+ "nav.logout": "Log Out",
"nav.main.description": "Main navigation bar",
diff --git a/src/themes/dspace/app/navbar/navbar.component.html b/src/themes/dspace/app/navbar/navbar.component.html
index 512ef45265..1a58edb8f2 100644
--- a/src/themes/dspace/app/navbar/navbar.component.html
+++ b/src/themes/dspace/app/navbar/navbar.component.html
@@ -1,12 +1,15 @@