diff --git a/pallet/marketplace/src/impls.rs b/pallet/marketplace/src/impls.rs index e4e003540..aa03d6c3d 100644 --- a/pallet/marketplace/src/impls.rs +++ b/pallet/marketplace/src/impls.rs @@ -312,7 +312,7 @@ impl Pallet { ) -> Result { ensure!(!amount.is_zero(), Error::::ZeroOffer); let token_owner = T::NFTExt::get_token_owner(&token_id); - ensure!(!token_owner.is_none(), Error::::NoTokenOwner); + ensure!(token_owner.is_some(), Error::::NoToken); ensure!(token_owner != Some(who), Error::::IsTokenOwner); let offer_id = Self::next_offer_id(); ensure!(offer_id.checked_add(One::one()).is_some(), Error::::NoAvailableIds); diff --git a/pallet/marketplace/src/lib.rs b/pallet/marketplace/src/lib.rs index 9e4a206b2..2f6e578a5 100644 --- a/pallet/marketplace/src/lib.rs +++ b/pallet/marketplace/src/lib.rs @@ -325,8 +325,8 @@ pub mod pallet { TokenOnAuction, /// No tokens were specified in the listing EmptyTokens, - /// Token does not have an owner, likely the token has been burnt - NoTokenOwner, + /// The token does not exist + NoToken, } #[pallet::hooks] diff --git a/pallet/marketplace/src/tests.rs b/pallet/marketplace/src/tests.rs index 4b67dc04b..7d03a4d22 100644 --- a/pallet/marketplace/src/tests.rs +++ b/pallet/marketplace/src/tests.rs @@ -2191,7 +2191,27 @@ fn make_simple_offer_on_burnt_token_should_fail() { NativeAssetId::get(), None ), - Error::::NoTokenOwner + Error::::NoToken + ); + }); +} + +#[test] +fn make_simple_offer_on_non_existent_token_should_fail() { + let buyer = create_account(7); + + TestExt::::default().build().execute_with(|| { + let (collection_id, _, _) = setup_nft_token(); + let offer_amount: Balance = 100; + assert_noop!( + Marketplace::make_simple_offer( + Some(buyer).into(), + (collection_id, 456), // non existent token + offer_amount, + NativeAssetId::get(), + None + ), + Error::::NoToken ); }); }