diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts index 5a26a51d01121a4d0c41f18a75d49b03df411b00..9f72097d2e83146708ded31a22bd2351e14ebdd1 100644 --- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts +++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts @@ -32,6 +32,7 @@ import { import { getElementFromFixture } from '@alfa-client/test-utils'; import { SpinnerComponent } from '@alfa-client/ui'; import { NO_NAME_MESSAGE, UserProfileResource, userProfileMessage } from '@alfa-client/user-profile-shared'; +import { SimpleChange } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatIcon } from '@angular/material/icon'; import { faker } from '@faker-js/faker'; @@ -119,6 +120,27 @@ describe('UserIconComponent', () => { }); }); + describe('ngOnChanges', () => { + const userProfileChange: SimpleChange = new SimpleChange(1, 2, true); + + it('should get tooltip', () => { + component.getTooltip = jest.fn(); + + component.ngOnChanges({ userProfileStateResource: userProfileChange }); + + expect(component.getTooltip).toHaveBeenCalled(); + }); + + it('should not get tooltip', () => { + component.getTooltip = jest.fn(); + component.withTooltip = false; + + component.ngOnChanges({ userProfileStateResource: userProfileChange }); + + expect(component.getTooltip).not.toHaveBeenCalled(); + }); + }); + describe('tooltip', () => { it('should return user name', () => { component.userProfileStateResource = createStateResource(userProfile); diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts index 787e1e16eabcd6eedb875ed7e203f229bfcc9df1..65f11379da957436bed60792a642e1e2114a82cd 100644 --- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts +++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts @@ -32,13 +32,14 @@ import { isUndefined } from 'lodash-es'; }) export class UserIconComponent { @Input() userProfileStateResource: StateResource<UserProfileResource> = createEmptyStateResource<UserProfileResource>(); + @Input() withTooltip: boolean = true; readonly messageCode = MessageCode; tooltip: string; ngOnChanges(changes: SimpleChanges): void { - if (changes.userProfileStateResource) { + if (changes.userProfileStateResource && this.withTooltip) { this.tooltip = this.getTooltip(); } } diff --git a/alfa-client/libs/user-profile/src/lib/user-profile-in-header-container/user-profile-in-header/user-profile-in-header.component.html b/alfa-client/libs/user-profile/src/lib/user-profile-in-header-container/user-profile-in-header/user-profile-in-header.component.html index c73890ac91f82dd5182190f913829129deb67bad..48c074f4785eb07f913732497221cd97f44acdc7 100644 --- a/alfa-client/libs/user-profile/src/lib/user-profile-in-header-container/user-profile-in-header/user-profile-in-header.component.html +++ b/alfa-client/libs/user-profile/src/lib/user-profile-in-header-container/user-profile-in-header/user-profile-in-header.component.html @@ -33,6 +33,7 @@ button-content data-test-id="user-icon" [userProfileStateResource]="currentUserResource" + [withTooltip]="false" class="user-profile-icon" > </alfa-user-icon>