@@ -274,4 +274,71 @@ describe('SBT', () => {
274
274
expect ( await sbt . tokenByIndex ( 1 ) ) . to . eq ( 1 )
275
275
} )
276
276
} )
277
+
278
+ describe ( 'setTokenURI' , ( ) => {
279
+ it ( 'The setTokenURI function should function correctly' , async ( ) => {
280
+ const sbt = await init ( )
281
+ const signers = await getSigners ( )
282
+
283
+ const 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
+ const modifiedMetadata = await getDummyEncodedMetadata ( sbt , "ABCURL" )
290
+ await expect ( sbt . connect ( signers . minterA ) . setTokenURI ( 0 , modifiedMetadata ) )
291
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
292
+ . withArgs ( 0 , modifiedMetadata )
293
+ } )
294
+
295
+ it ( 'The setTokenURI function should function correctly for all minters' , async ( ) => {
296
+ const sbt = await init ( )
297
+ const signers = await getSigners ( )
298
+
299
+ const metadata = await getDummyEncodedMetadata ( sbt )
300
+ await expect (
301
+ sbt . connect ( signers . minterA ) . mint ( signers . userA . address , metadata )
302
+ )
303
+ . to . emit ( sbt , 'Minted' )
304
+ . withArgs ( 0 , signers . userA . address )
305
+ let modifiedMetadata = await getDummyEncodedMetadata ( sbt , "ABCURL" )
306
+ await expect ( sbt . connect ( signers . minterA ) . setTokenURI ( 0 , modifiedMetadata ) )
307
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
308
+ . withArgs ( 0 , modifiedMetadata )
309
+
310
+ modifiedMetadata = await getDummyEncodedMetadata ( sbt , "DEFURL" )
311
+ await expect ( sbt . connect ( signers . minterB ) . setTokenURI ( 0 , modifiedMetadata ) )
312
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
313
+ . withArgs ( 0 , modifiedMetadata )
314
+ } )
315
+
316
+ it ( 'The setTokenURI function should function correctly for all minters and new minter' , async ( ) => {
317
+ const sbt = await init ( )
318
+ const signers = await getSigners ( )
319
+
320
+ await sbt . connect ( signers . minterUpdater ) . addMinter ( signers . minterC . address )
321
+
322
+ const metadata = await getDummyEncodedMetadata ( sbt )
323
+ await expect (
324
+ sbt . connect ( signers . minterA ) . mint ( signers . userA . address , metadata )
325
+ )
326
+ . to . emit ( sbt , 'Minted' )
327
+ . withArgs ( 0 , signers . userA . address )
328
+ let modifiedMetadata = await getDummyEncodedMetadata ( sbt , "ABCURL" )
329
+ await expect ( sbt . connect ( signers . minterA ) . setTokenURI ( 0 , modifiedMetadata ) )
330
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
331
+ . withArgs ( 0 , modifiedMetadata )
332
+
333
+ modifiedMetadata = await getDummyEncodedMetadata ( sbt , "DEFURL" )
334
+ await expect ( sbt . connect ( signers . minterB ) . setTokenURI ( 0 , modifiedMetadata ) )
335
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
336
+ . withArgs ( 0 , modifiedMetadata )
337
+
338
+ modifiedMetadata = await getDummyEncodedMetadata ( sbt , "SDFSFURL" )
339
+ await expect ( sbt . connect ( signers . minterC ) . setTokenURI ( 0 , modifiedMetadata ) )
340
+ . to . be . emit ( sbt , 'SetSBTTokenURI' )
341
+ . withArgs ( 0 , modifiedMetadata )
342
+ } )
343
+ } )
277
344
} )
0 commit comments