@@ -57,6 +57,12 @@ contract ProfileRegistryTest is Test {
57
57
error TokenNotOwnedByUser (address token , uint256 tokenId );
58
58
error Unauthorized ();
59
59
60
+ event AttachBadge (bytes32 indexed uid );
61
+ event DetachBadge (bytes32 indexed uid );
62
+ event ChangeUsername (string oldUsername , string newUsername );
63
+ event ChangeAvatar (address oldToken , uint256 oldTokenId , address newToken , uint256 newTokenId );
64
+ event ReorderBadges (uint256 oldOrder , uint256 newOrder );
65
+
60
66
address internal constant attester = address (1 );
61
67
62
68
address private constant TREASURY_ADDRESS = 0x1000000000000000000000000000000000000000 ;
@@ -114,6 +120,10 @@ contract ProfileRegistryTest is Test {
114
120
bytes32 [] memory uids = new bytes32 [](2 );
115
121
uids[0 ] = uid0;
116
122
uids[1 ] = uid1;
123
+ vm.expectEmit (false , false , false , true , address (profile));
124
+ emit AttachBadge (uid0);
125
+ vm.expectEmit (false , false , false , true , address (profile));
126
+ emit AttachBadge (uid1);
117
127
profile.attach (uids);
118
128
bytes32 [] memory badges = profile.getAttachedBadges ();
119
129
assertEq (badges.length , 2 );
@@ -129,6 +139,10 @@ contract ProfileRegistryTest is Test {
129
139
assertEq (orders[1 ], 2 );
130
140
131
141
// attach again, no op
142
+ vm.expectEmit (false , false , false , true , address (profile));
143
+ emit AttachBadge (uid0);
144
+ vm.expectEmit (false , false , false , true , address (profile));
145
+ emit AttachBadge (uid1);
132
146
profile.attach (uids);
133
147
badges = profile.getAttachedBadges ();
134
148
assertEq (badges.length , 2 );
@@ -231,6 +245,8 @@ contract ProfileRegistryTest is Test {
231
245
// detach 6, order would be: 1, 2, 3, 4, 5, 9, 6, 7, 8
232
246
bytes32 [] memory detachBadges = new bytes32 [](1 );
233
247
detachBadges[0 ] = originalBadges[5 ];
248
+ vm.expectEmit (false , false , false , true , address (profile));
249
+ emit DetachBadge (originalBadges[5 ]);
234
250
profile.detach (detachBadges);
235
251
bytes32 [] memory badges = profile.getAttachedBadges ();
236
252
assertEq (badges.length , 9 );
@@ -252,6 +268,14 @@ contract ProfileRegistryTest is Test {
252
268
detachBadges[1 ] = badges[1 ];
253
269
detachBadges[2 ] = badges[2 ];
254
270
detachBadges[3 ] = badges[3 ];
271
+ vm.expectEmit (false , false , false , true , address (profile));
272
+ emit DetachBadge (badges[0 ]);
273
+ vm.expectEmit (false , false , false , true , address (profile));
274
+ emit DetachBadge (badges[1 ]);
275
+ vm.expectEmit (false , false , false , true , address (profile));
276
+ emit DetachBadge (badges[2 ]);
277
+ vm.expectEmit (false , false , false , true , address (profile));
278
+ emit DetachBadge (badges[3 ]);
255
279
profile.detach (detachBadges);
256
280
badges = profile.getAttachedBadges ();
257
281
assertEq (badges.length , 5 );
@@ -353,6 +377,8 @@ contract ProfileRegistryTest is Test {
353
377
354
378
// succeed
355
379
assertEq (profile.username (), "xxxxx " );
380
+ vm.expectEmit (false , false , false , true , address (profile));
381
+ emit ChangeUsername ("xxxxx " , "zzzzz " );
356
382
profile.changeUsername ("zzzzz " );
357
383
assertEq (profile.username (), "zzzzz " );
358
384
}
@@ -375,6 +401,8 @@ contract ProfileRegistryTest is Test {
375
401
376
402
// succeed
377
403
assertEq (profile.getAvatar (), "123 " );
404
+ vm.expectEmit (false , false , false , true , address (profile));
405
+ emit ChangeAvatar (address (0 ), 0 , address (token), 1 );
378
406
profile.changeAvatar (address (token), 1 );
379
407
assertEq (profile.getAvatar (), "testBaseURI/1 " );
380
408
0 commit comments