1212// See the License for the specific language governing permissions and
1313// limitations under the License.
1414
15+ import { mockSingleton , mockTranslate } from '@/testing/utils' ;
1516import { CoreUserHelper } from '../services/user-helper' ;
17+ import { CoreUser } from '../services/user' ;
1618
1719describe ( 'getUserInitialsFromParts' , ( ) => {
20+ beforeEach ( ( ) => {
21+ mockTranslate ( {
22+ 'core.user.fullnamedisplay' : '{{$a.firstname}} {{$a.lastname}}' ,
23+ } ) ;
24+ } ) ;
25+
1826 it ( 'should return initials based on firstname and lastname' , async ( ) => {
1927 const parts = {
2028 firstname : 'John' ,
@@ -23,13 +31,53 @@ describe('getUserInitialsFromParts', () => {
2331 userId : 123 ,
2432 } ;
2533
26- const result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
34+ let result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
2735
2836 expect ( result ) . toEqual ( 'JD' ) ;
37+
38+ mockTranslate ( {
39+ 'core.user.fullnamedisplay' : '{{$a.lastname}} {{$a.firstname}}' ,
40+ } ) ;
41+
42+ result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
43+
44+ expect ( result ) . toEqual ( 'DJ' ) ;
45+
46+ mockTranslate ( {
47+ 'core.user.fullnamedisplay' : '{{$a.lastname}}' ,
48+ } ) ;
49+
50+ result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
51+
52+ expect ( result ) . toEqual ( 'D' ) ;
53+
54+ mockTranslate ( {
55+ 'core.user.fullnamedisplay' : '{{$a.firstname}}' ,
56+ } ) ;
57+
58+ result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
59+
60+ expect ( result ) . toEqual ( 'J' ) ;
61+
62+ mockTranslate ( {
63+ 'core.user.fullnamedisplay' : '{{$a.noname}}' ,
64+ } ) ;
65+
66+ result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
67+
68+ expect ( result ) . toEqual ( 'UNK' ) ;
2969 } ) ;
3070
3171 it ( 'should return initials based on fullname if firstname and lastname are missing' , async ( ) => {
32- let parts = {
72+ mockSingleton ( CoreUser , {
73+ getProfile : ( ) => Promise . resolve ( {
74+ firstname : 'John' ,
75+ lastname : 'Doe' ,
76+ fullname : 'John Doe' ,
77+ id : 123 ,
78+ } ) } ) ;
79+
80+ let parts : { firstname ?: string ; lastname ?: string ; fullname ?: string ; userId ?: number } = {
3381 firstname : '' ,
3482 lastname : '' ,
3583 fullname : 'John Doe' ,
@@ -44,12 +92,19 @@ describe('getUserInitialsFromParts', () => {
4492 firstname : '' ,
4593 lastname : '' ,
4694 fullname : 'John Fitzgerald Doe' ,
47- userId : 123 ,
4895 } ;
4996
5097 result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
5198
5299 expect ( result ) . toEqual ( 'JD' ) ;
100+
101+ mockTranslate ( {
102+ 'core.user.fullnamedisplay' : '{{$a.lastname}} {{$a.firstname}}' ,
103+ } ) ;
104+
105+ result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
106+
107+ expect ( result ) . toEqual ( 'DJ' ) ;
53108 } ) ;
54109
55110 it ( 'should return UNK string if empty parts' , async ( ) => {
0 commit comments