@@ -276,6 +276,38 @@ describe('SBT', () => {
276
276
} )
277
277
278
278
describe ( 'setTokenURI' , ( ) => {
279
+ it ( 'The setTokenURI function can be executed by minter' , async ( ) => {
280
+ const sbt = await init ( )
281
+ const signers = await getSigners ( )
282
+
283
+ let metadata = await getDummyEncodedMetadata ( sbt )
284
+ await expect (
285
+ sbt . connect ( signers . minterA ) . mint ( signers . userA . address , metadata )
286
+ )
287
+ . to . emit ( sbt , 'Minted' )
288
+ . withArgs ( 0 , signers . userA . address )
289
+
290
+ metadata = await getDummyEncodedMetadata ( sbt , 'USERA' )
291
+ await expect (
292
+ sbt . connect ( signers . userA ) . setTokenURI ( 0 , metadata )
293
+ ) . to . be . revertedWith ( 'Illegal access' )
294
+
295
+ metadata = await getDummyEncodedMetadata ( sbt , 'USERB' )
296
+ await expect (
297
+ sbt . connect ( signers . deployer ) . setTokenURI ( 0 , metadata )
298
+ ) . to . be . revertedWith ( 'Illegal access' )
299
+
300
+ metadata = await getDummyEncodedMetadata ( sbt , 'USERC' )
301
+ await expect (
302
+ sbt . connect ( signers . proxyAdmin ) . setTokenURI ( 0 , metadata )
303
+ ) . to . be . revertedWith ( 'Illegal access' )
304
+
305
+ metadata = await getDummyEncodedMetadata ( sbt , 'USERD' )
306
+ await expect (
307
+ sbt . connect ( signers . minterUpdater ) . setTokenURI ( 0 , metadata )
308
+ ) . to . be . revertedWith ( 'Illegal access' )
309
+ } )
310
+
279
311
it ( 'The setTokenURI function should function correctly' , async ( ) => {
280
312
const sbt = await init ( )
281
313
const signers = await getSigners ( )
@@ -354,5 +386,38 @@ describe('SBT', () => {
354
386
. to . be . emit ( sbt , 'SetSBTTokenURI' )
355
387
. withArgs ( 0 , modifiedMetadata )
356
388
} )
389
+
390
+
391
+ it ( 'The setTokenURI function should function correctly for multiple users' , async ( ) => {
392
+ const sbt = await init ( )
393
+ const signers = await getSigners ( )
394
+
395
+ const metadata = await getDummyEncodedMetadata ( sbt )
396
+ await expect (
397
+ sbt . connect ( signers . minterA ) . mint ( signers . userA . address , metadata )
398
+ )
399
+ . to . emit ( sbt , 'Minted' )
400
+ . withArgs ( 0 , signers . userA . address )
401
+
402
+ await expect (
403
+ sbt . connect ( signers . minterA ) . mint ( signers . userB . address , metadata )
404
+ )
405
+ . to . emit ( sbt , 'Minted' )
406
+ . withArgs ( 1 , signers . userB . address )
407
+
408
+ let modifiedMetadata = await getDummyEncodedMetadata ( sbt , 'UserAURL' )
409
+ await expect (
410
+ sbt . connect ( signers . minterA ) . setTokenURI ( 0 , modifiedMetadata )
411
+ )
412
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
413
+ . withArgs ( 0 , modifiedMetadata )
414
+
415
+ modifiedMetadata = await getDummyEncodedMetadata ( sbt , 'UserBURL' )
416
+ await expect (
417
+ sbt . connect ( signers . minterB ) . setTokenURI ( 1 , modifiedMetadata )
418
+ )
419
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
420
+ . withArgs ( 1 , modifiedMetadata )
421
+ } )
357
422
} )
358
423
} )
0 commit comments