@@ -225,7 +225,6 @@ mod tests {
225
225
message_info, mock_dependencies, mock_env, MockApi , MockQuerier , MockStorage ,
226
226
} ;
227
227
use cosmwasm_std:: { from_json, DenomMetadata , DenomUnit , OwnedDeps } ;
228
- use serde_json:: { json, Error } ;
229
228
230
229
fn setup ( ) -> OwnedDeps < MockStorage , MockApi , MockQuerier > {
231
230
let mut deps = mock_dependencies ( ) ;
@@ -293,161 +292,4 @@ mod tests {
293
292
294
293
assert_eq ! ( denom. symbol, "FOO0" ) ;
295
294
}
296
-
297
- #[ test]
298
- fn query_denom_metadata_with_null_denom_units_works ( ) {
299
- // Test case with null denom_units - should deserialize as empty vec
300
- let json_with_null_denom_units = json ! ( {
301
- "description" : "Test Token" ,
302
- "denom_units" : null,
303
- "base" : "utest" ,
304
- "display" : "TEST" ,
305
- "name" : "Test Token" ,
306
- "symbol" : "TEST" ,
307
- "uri" : "https://test.com" ,
308
- "uri_hash" : "hash"
309
- } ) ;
310
-
311
- let metadata_with_null_denom_units: DenomMetadata =
312
- serde_json:: from_value ( json_with_null_denom_units) . unwrap ( ) ;
313
- assert_eq ! (
314
- metadata_with_null_denom_units. denom_units,
315
- Vec :: <DenomUnit >:: default ( )
316
- ) ;
317
- assert ! ( metadata_with_null_denom_units. denom_units. is_empty( ) ) ;
318
-
319
- // Test normal case with provided denom_units
320
- let json_with_units = json ! ( {
321
- "description" : "Test Token" ,
322
- "denom_units" : [
323
- {
324
- "denom" : "utest" ,
325
- "exponent" : 6 ,
326
- "aliases" : [ "microtest" ]
327
- }
328
- ] ,
329
- "base" : "utest" ,
330
- "display" : "TEST" ,
331
- "name" : "Test Token" ,
332
- "symbol" : "TEST" ,
333
- "uri" : "https://test.com" ,
334
- "uri_hash" : "hash"
335
- } ) ;
336
-
337
- let metadata_with_units: DenomMetadata = serde_json:: from_value ( json_with_units) . unwrap ( ) ;
338
- assert_eq ! ( metadata_with_units. denom_units. len( ) , 1 ) ;
339
- assert_eq ! ( metadata_with_units. denom_units[ 0 ] . denom, "utest" ) ;
340
- assert_eq ! ( metadata_with_units. denom_units[ 0 ] . aliases. len( ) , 1 ) ;
341
- assert_eq ! ( metadata_with_units. denom_units[ 0 ] . aliases[ 0 ] , "microtest" ) ;
342
-
343
- // Test with null aliases inside denom_units - should deserialize as empty vec
344
- let json_with_null_aliases = json ! ( {
345
- "description" : "Test Token" ,
346
- "denom_units" : [
347
- {
348
- "denom" : "utest" ,
349
- "exponent" : 6 ,
350
- "aliases" : null
351
- }
352
- ] ,
353
- "base" : "utest" ,
354
- "display" : "TEST" ,
355
- "name" : "Test Token" ,
356
- "symbol" : "TEST" ,
357
- "uri" : "https://test.com" ,
358
- "uri_hash" : "hash"
359
- } ) ;
360
-
361
- let metadata_with_null_aliases: DenomMetadata =
362
- serde_json:: from_value ( json_with_null_aliases) . unwrap ( ) ;
363
- assert_eq ! ( metadata_with_null_aliases. denom_units. len( ) , 1 ) ;
364
- assert_eq ! (
365
- metadata_with_null_aliases. denom_units[ 0 ] . aliases,
366
- Vec :: <String >:: default ( )
367
- ) ;
368
- assert ! ( metadata_with_null_aliases. denom_units[ 0 ] . aliases. is_empty( ) ) ;
369
- }
370
-
371
- #[ test]
372
- fn query_denom_metadata_with_missing_fields_fails ( ) {
373
- // Missing denom_units should be treated as default value (empty vec)
374
- let json_missing_denom_units = json ! ( {
375
- "description" : "Test Token" ,
376
- "base" : "utest" ,
377
- "display" : "TEST" ,
378
- "name" : "Test Token" ,
379
- "symbol" : "TEST" ,
380
- "uri" : "https://test.com" ,
381
- "uri_hash" : "hash"
382
- } ) ;
383
-
384
- let json_missing_denom_units_metadata: Result < DenomMetadata , Error > =
385
- serde_json:: from_value ( json_missing_denom_units) ;
386
- assert ! ( json_missing_denom_units_metadata. is_err( ) ) ;
387
-
388
- // Missing aliases field should be treated as default (empty vec)
389
- let json_missing_aliases = json ! ( {
390
- "description" : "Test Token" ,
391
- "denom_units" : [
392
- {
393
- "denom" : "utest" ,
394
- "exponent" : 6
395
- }
396
- ] ,
397
- "base" : "utest" ,
398
- "display" : "TEST" ,
399
- "name" : "Test Token" ,
400
- "symbol" : "TEST" ,
401
- "uri" : "https://test.com" ,
402
- "uri_hash" : "hash"
403
- } ) ;
404
-
405
- let missing_aliases_metadata: Result < DenomMetadata , Error > =
406
- serde_json:: from_value ( json_missing_aliases) ;
407
- assert ! ( missing_aliases_metadata. is_err( ) ) ;
408
- }
409
-
410
- #[ test]
411
- fn query_denom_metadata_with_mixed_null_and_value_works ( ) {
412
- // Test with multiple denom units, some with null aliases and some with values
413
- let mixed_json = json ! ( {
414
- "description" : "Mixed Token" ,
415
- "denom_units" : [
416
- {
417
- "denom" : "unit1" ,
418
- "exponent" : 0 ,
419
- "aliases" : null
420
- } ,
421
- {
422
- "denom" : "unit2" ,
423
- "exponent" : 6 ,
424
- "aliases" : [ "microunit" , "u" ]
425
- } ,
426
- {
427
- "denom" : "unit3" ,
428
- "exponent" : 9 ,
429
- "aliases" : [ ]
430
- }
431
- ] ,
432
- "base" : "unit1" ,
433
- "display" : "MIXED" ,
434
- "name" : "Mixed Token" ,
435
- "symbol" : "MIX" ,
436
- "uri" : "https://mixed.token" ,
437
- "uri_hash" : "hash123"
438
- } ) ;
439
-
440
- let metadata: DenomMetadata = serde_json:: from_value ( mixed_json) . unwrap ( ) ;
441
-
442
- // First denom unit has null aliases, should be empty vec
443
- assert ! ( metadata. denom_units[ 0 ] . aliases. is_empty( ) ) ;
444
-
445
- // Second has two aliases
446
- assert_eq ! ( metadata. denom_units[ 1 ] . aliases. len( ) , 2 ) ;
447
- assert_eq ! ( metadata. denom_units[ 1 ] . aliases[ 0 ] , "microunit" ) ;
448
- assert_eq ! ( metadata. denom_units[ 1 ] . aliases[ 1 ] , "u" ) ;
449
-
450
- // Third has explicitly empty aliases
451
- assert ! ( metadata. denom_units[ 2 ] . aliases. is_empty( ) ) ;
452
- }
453
295
}
0 commit comments