@@ -14,7 +14,11 @@ describe('/people', () => {
14
14
let nameAlicePerson : PersonResponseDto ;
15
15
let nameBobPerson : PersonResponseDto ;
16
16
let nameCharliePerson : PersonResponseDto ;
17
- let nameNullPerson : PersonResponseDto ;
17
+ let nameNullPerson4Assets : PersonResponseDto ;
18
+ let nameNullPerson3Assets : PersonResponseDto ;
19
+ let nameNullPerson1Asset : PersonResponseDto ;
20
+ let nameBillPersonFavourite : PersonResponseDto ;
21
+ let nameFreddyPersonFavourite : PersonResponseDto ;
18
22
19
23
beforeAll ( async ( ) => {
20
24
await utils . resetDatabase ( ) ;
@@ -27,7 +31,11 @@ describe('/people', () => {
27
31
nameCharliePerson ,
28
32
nameBobPerson ,
29
33
nameAlicePerson ,
30
- nameNullPerson ,
34
+ nameNullPerson4Assets ,
35
+ nameNullPerson3Assets ,
36
+ nameNullPerson1Asset ,
37
+ nameBillPersonFavourite ,
38
+ nameFreddyPersonFavourite ,
31
39
] = await Promise . all ( [
32
40
utils . createPerson ( admin . accessToken , {
33
41
name : 'visible_person' ,
@@ -52,27 +60,54 @@ describe('/people', () => {
52
60
utils . createPerson ( admin . accessToken , {
53
61
name : '' ,
54
62
} ) ,
63
+ utils . createPerson ( admin . accessToken , {
64
+ name : '' ,
65
+ } ) ,
66
+ utils . createPerson ( admin . accessToken , {
67
+ name : '' ,
68
+ } ) ,
69
+ utils . createPerson ( admin . accessToken , {
70
+ name : 'Bill' ,
71
+ isFavorite : true ,
72
+ } ) ,
73
+ utils . createPerson ( admin . accessToken , {
74
+ name : 'Freddy' ,
75
+ isFavorite : true ,
76
+ } ) ,
55
77
] ) ;
56
78
57
79
const asset1 = await utils . createAsset ( admin . accessToken ) ;
58
80
const asset2 = await utils . createAsset ( admin . accessToken ) ;
59
81
const asset3 = await utils . createAsset ( admin . accessToken ) ;
82
+ const asset4 = await utils . createAsset ( admin . accessToken ) ;
60
83
61
84
await Promise . all ( [
62
85
utils . createFace ( { assetId : asset1 . id , personId : visiblePerson . id } ) ,
63
86
utils . createFace ( { assetId : asset1 . id , personId : hiddenPerson . id } ) ,
64
87
utils . createFace ( { assetId : asset1 . id , personId : multipleAssetsPerson . id } ) ,
65
88
utils . createFace ( { assetId : asset1 . id , personId : multipleAssetsPerson . id } ) ,
66
89
utils . createFace ( { assetId : asset2 . id , personId : multipleAssetsPerson . id } ) ,
67
- utils . createFace ( { assetId : asset3 . id , personId : multipleAssetsPerson . id } ) ,
90
+ utils . createFace ( { assetId : asset3 . id , personId : multipleAssetsPerson . id } ) , // 4 assets
68
91
// Named persons
69
92
utils . createFace ( { assetId : asset1 . id , personId : nameCharliePerson . id } ) , // 1 asset
70
93
utils . createFace ( { assetId : asset1 . id , personId : nameBobPerson . id } ) ,
71
94
utils . createFace ( { assetId : asset2 . id , personId : nameBobPerson . id } ) , // 2 assets
72
95
utils . createFace ( { assetId : asset1 . id , personId : nameAlicePerson . id } ) , // 1 asset
73
- // Null-named person
74
- utils . createFace ( { assetId : asset1 . id , personId : nameNullPerson . id } ) ,
75
- utils . createFace ( { assetId : asset2 . id , personId : nameNullPerson . id } ) , // 2 assets
96
+ // Null-named person 4 assets
97
+ utils . createFace ( { assetId : asset1 . id , personId : nameNullPerson4Assets . id } ) ,
98
+ utils . createFace ( { assetId : asset2 . id , personId : nameNullPerson4Assets . id } ) ,
99
+ utils . createFace ( { assetId : asset3 . id , personId : nameNullPerson4Assets . id } ) ,
100
+ utils . createFace ( { assetId : asset4 . id , personId : nameNullPerson4Assets . id } ) , // 4 assets
101
+ // Null-named person 3 assets
102
+ utils . createFace ( { assetId : asset1 . id , personId : nameNullPerson3Assets . id } ) ,
103
+ utils . createFace ( { assetId : asset2 . id , personId : nameNullPerson3Assets . id } ) ,
104
+ utils . createFace ( { assetId : asset3 . id , personId : nameNullPerson3Assets . id } ) , // 3 assets
105
+ // Null-named person 1 asset
106
+ utils . createFace ( { assetId : asset3 . id , personId : nameNullPerson1Asset . id } ) ,
107
+ // Favourite People
108
+ utils . createFace ( { assetId : asset1 . id , personId : nameFreddyPersonFavourite . id } ) ,
109
+ utils . createFace ( { assetId : asset2 . id , personId : nameFreddyPersonFavourite . id } ) ,
110
+ utils . createFace ( { assetId : asset1 . id , personId : nameBillPersonFavourite . id } ) ,
76
111
] ) ;
77
112
} ) ;
78
113
@@ -87,15 +122,19 @@ describe('/people', () => {
87
122
expect ( status ) . toBe ( 200 ) ;
88
123
expect ( body ) . toEqual ( {
89
124
hasNextPage : false ,
90
- total : 7 ,
125
+ total : 11 ,
91
126
hidden : 1 ,
92
127
people : [
93
- expect . objectContaining ( { name : 'multiple_assets_person ' } ) ,
94
- expect . objectContaining ( { name : 'Bob ' } ) ,
128
+ expect . objectContaining ( { name : 'Bill ' } ) ,
129
+ expect . objectContaining ( { name : 'Freddy ' } ) ,
95
130
expect . objectContaining ( { name : 'Alice' } ) ,
131
+ expect . objectContaining ( { name : 'Bob' } ) ,
96
132
expect . objectContaining ( { name : 'Charlie' } ) ,
133
+ expect . objectContaining ( { name : 'multiple_assets_person' } ) ,
97
134
expect . objectContaining ( { name : 'visible_person' } ) ,
98
- expect . objectContaining ( { name : 'hidden_person' } ) ,
135
+ expect . objectContaining ( { id : nameNullPerson4Assets . id , name : '' } ) ,
136
+ expect . objectContaining ( { id : nameNullPerson3Assets . id , name : '' } ) ,
137
+ expect . objectContaining ( { name : 'hidden_person' } ) , // Should really be before the null names
99
138
] ,
100
139
} ) ;
101
140
} ) ;
@@ -105,17 +144,21 @@ describe('/people', () => {
105
144
106
145
expect ( status ) . toBe ( 200 ) ;
107
146
expect ( body . hasNextPage ) . toBe ( false ) ;
108
- expect ( body . total ) . toBe ( 7 ) ; // All persons
147
+ expect ( body . total ) . toBe ( 11 ) ; // All persons
109
148
expect ( body . hidden ) . toBe ( 1 ) ; // 'hidden_person'
110
149
111
150
const people = body . people as PersonResponseDto [ ] ;
112
151
113
152
expect ( people . map ( ( p ) => p . id ) ) . toEqual ( [
114
- multipleAssetsPerson . id , // name: 'multiple_assets_person ', count: 3
115
- nameBobPerson . id , // name: 'Bob ', count: 2
153
+ nameBillPersonFavourite . id , // name: 'Bill ', count: 2
154
+ nameFreddyPersonFavourite . id , // name: 'Freddy ', count: 2
116
155
nameAlicePerson . id , // name: 'Alice', count: 1
156
+ nameBobPerson . id , // name: 'Bob', count: 2
117
157
nameCharliePerson . id , // name: 'Charlie', count: 1
158
+ multipleAssetsPerson . id , // name: 'multiple_assets_person', count: 3
118
159
visiblePerson . id , // name: 'visible_person', count: 1
160
+ nameNullPerson4Assets . id , // name: '', count: 4
161
+ nameNullPerson3Assets . id , // name: '', count: 3
119
162
] ) ;
120
163
121
164
expect ( people . some ( ( p ) => p . id === hiddenPerson . id ) ) . toBe ( false ) ;
@@ -127,14 +170,18 @@ describe('/people', () => {
127
170
expect ( status ) . toBe ( 200 ) ;
128
171
expect ( body ) . toEqual ( {
129
172
hasNextPage : false ,
130
- total : 7 ,
173
+ total : 11 ,
131
174
hidden : 1 ,
132
175
people : [
133
- expect . objectContaining ( { name : 'multiple_assets_person ' } ) ,
134
- expect . objectContaining ( { name : 'Bob ' } ) ,
176
+ expect . objectContaining ( { name : 'Bill ' } ) ,
177
+ expect . objectContaining ( { name : 'Freddy ' } ) ,
135
178
expect . objectContaining ( { name : 'Alice' } ) ,
179
+ expect . objectContaining ( { name : 'Bob' } ) ,
136
180
expect . objectContaining ( { name : 'Charlie' } ) ,
181
+ expect . objectContaining ( { name : 'multiple_assets_person' } ) ,
137
182
expect . objectContaining ( { name : 'visible_person' } ) ,
183
+ expect . objectContaining ( { id : nameNullPerson4Assets . id , name : '' } ) ,
184
+ expect . objectContaining ( { id : nameNullPerson3Assets . id , name : '' } ) ,
138
185
] ,
139
186
} ) ;
140
187
} ) ;
@@ -148,9 +195,9 @@ describe('/people', () => {
148
195
expect ( status ) . toBe ( 200 ) ;
149
196
expect ( body ) . toEqual ( {
150
197
hasNextPage : true ,
151
- total : 7 ,
198
+ total : 11 ,
152
199
hidden : 1 ,
153
- people : [ expect . objectContaining ( { name : 'visible_person ' } ) ] ,
200
+ people : [ expect . objectContaining ( { name : 'Charlie ' } ) ] ,
154
201
} ) ;
155
202
} ) ;
156
203
} ) ;
0 commit comments