12
12
// See the License for the specific language governing permissions and
13
13
// limitations under the License.
14
14
15
+ import { mockSingleton , mockTranslate } from '@/testing/utils' ;
15
16
import { CoreUserHelper } from '../services/user-helper' ;
17
+ import { CoreUser } from '../services/user' ;
16
18
17
19
describe ( 'getUserInitialsFromParts' , ( ) => {
20
+ beforeEach ( ( ) => {
21
+ mockTranslate ( {
22
+ 'core.user.fullnamedisplay' : '{{$a.firstname}} {{$a.lastname}}' ,
23
+ } ) ;
24
+ } ) ;
25
+
18
26
it ( 'should return initials based on firstname and lastname' , async ( ) => {
19
27
const parts = {
20
28
firstname : 'John' ,
@@ -23,13 +31,53 @@ describe('getUserInitialsFromParts', () => {
23
31
userId : 123 ,
24
32
} ;
25
33
26
- const result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
34
+ let result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
27
35
28
36
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' ) ;
29
69
} ) ;
30
70
31
71
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 } = {
33
81
firstname : '' ,
34
82
lastname : '' ,
35
83
fullname : 'John Doe' ,
@@ -44,12 +92,19 @@ describe('getUserInitialsFromParts', () => {
44
92
firstname : '' ,
45
93
lastname : '' ,
46
94
fullname : 'John Fitzgerald Doe' ,
47
- userId : 123 ,
48
95
} ;
49
96
50
97
result = await CoreUserHelper . getUserInitialsFromParts ( parts ) ;
51
98
52
99
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' ) ;
53
108
} ) ;
54
109
55
110
it ( 'should return UNK string if empty parts' , async ( ) => {
0 commit comments