difftreelog
Balances fix
in: master
2 files changed
pallets/nft/src/lib.rsdiffbeforeafterboth280 }280 }281 <ItemList<T>>::remove((collection_id, item_id));281 <ItemList<T>>::remove((collection_id, item_id));282283 // update balance284 let new_balance = <Balance<T>>::get((collection_id, item.owner.clone())) - 1;285 <Balance<T>>::insert((collection_id, item.owner.clone()), new_balance);282286283 Ok(())287 Ok(())284 }288 }308 }312 }309 <ItemList<T>>::remove((collection_id, item_id));313 <ItemList<T>>::remove((collection_id, item_id));314315 // update balance316 let balance_old_owner = <Balance<T>>::get((collection_id, item.owner.clone())) - 1;317 <Balance<T>>::insert((collection_id, item.owner.clone()), balance_old_owner);318319 let balance_new_owner = <Balance<T>>::get((collection_id, new_owner.clone())) + 1;320 <Balance<T>>::insert((collection_id, new_owner.clone()), balance_new_owner);310321311 // change owner322 // change owner312 item.owner = new_owner;323 item.owner = new_owner;pallets/nft/src/tests.rsdiffbeforeafterboth--- a/pallets/nft/src/tests.rs
+++ b/pallets/nft/src/tests.rs
@@ -68,6 +68,8 @@
// burn item
assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 1));
assert_noop!(TemplateModule::burn_item(origin1.clone(), 1, 1), "Item does not exists");
+
+ assert_eq!(TemplateModule::balance_count((1, 1)), 0);
});
}
@@ -176,5 +178,9 @@
// transfer
assert_ok!(TemplateModule::transfer(origin1.clone(), 1, 1, 2));
assert_eq!(TemplateModule::item_id((1,1)).owner, 2);
+
+ // balance_of check
+ assert_eq!(TemplateModule::balance_count((1, 1)), 0);
+ assert_eq!(TemplateModule::balance_count((1, 2)), 1);
});
}