Skip to content

Commit 0d42fd6

Browse files
committed
feat: add auction tests
1 parent 8338efa commit 0d42fd6

File tree

3 files changed

+55
-5
lines changed

3 files changed

+55
-5
lines changed

packages/injective-test-tube/libinjectivetesttube/testenv/setup.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ func InitChain(appInstance *app.InjectiveApp) (sdk.Context, secp256k1.PrivKey) {
130130
exchangeGen := exchangetypesv2.GenesisState{
131131
Params: exchangeParams,
132132
}
133+
134+
exchangeGen.DenomDecimals = []exchangetypesv2.DenomDecimals{{Denom: "inj", Decimals: 18}, {"usdt", 6}}
133135
genesisState[exchangetypes.ModuleName] = encCfg.Codec.MustMarshalJSON(&exchangeGen)
134136

135137
// Set up wasmx genesis state

packages/injective-test-tube/src/module/auction.rs

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,23 @@ where
3838

3939
#[cfg(test)]
4040
mod tests {
41-
use crate::{Auction, InjectiveTestApp};
41+
use crate::{Auction, Exchange, InjectiveTestApp};
42+
use cosmwasm_std::Coin;
43+
use injective_std::types::injective::exchange::v1beta1::MsgDeposit;
4244
use injective_std::types::{
4345
cosmos::base::v1beta1::Coin as BaseCoin,
4446
injective::auction::v1beta1::{
4547
LastAuctionResult, Params, QueryAuctionParamsRequest, QueryCurrentAuctionBasketRequest,
4648
QueryLastAuctionResultRequest,
4749
},
50+
injective::exchange::v2::QueryDenomDecimalsRequest,
4851
};
49-
use test_tube_inj::Module;
52+
use test_tube_inj::{Account, Module};
5053

5154
#[test]
5255
fn auction_integration() {
5356
let app = InjectiveTestApp::new();
54-
57+
let exchange = Exchange::new(&app);
5558
let auction = Auction::new(&app);
5659

5760
let response = auction
@@ -131,7 +134,7 @@ mod tests {
131134
let basket_response_after_increase = auction
132135
.query_current_auction_basket(&QueryCurrentAuctionBasketRequest {})
133136
.expect("query_current_auction_basket should succeed (after)");
134-
137+
println!("{:?}", basket_response_after_increase);
135138
assert!(
136139
basket_response_after_increase.auction_round > round,
137140
"Round should increase"
@@ -141,5 +144,46 @@ mod tests {
141144
basket_response_after_increase.auction_closing_time > closing_time,
142145
"Closing time should increase"
143146
);
147+
148+
// validate if coins on basket
149+
let decimals = exchange
150+
.query_denom_decimals(&QueryDenomDecimalsRequest {
151+
denoms: vec!["inj".to_string(), "usdt".to_string()],
152+
})
153+
.unwrap();
154+
155+
assert_eq!(decimals.denom_decimals.len(), 2);
156+
157+
let auction_subaccount = "1111111111111111111111111111111111111111111111111111111111111111";
158+
let trader = app
159+
.init_account(&[
160+
Coin::new(10_000_000_000_000_000_000_000u128, "inj"),
161+
Coin::new(100_000_000_000_000_000_000u128, "usdt"),
162+
])
163+
.unwrap();
164+
165+
let _ = exchange
166+
.deposit(
167+
MsgDeposit {
168+
sender: trader.address().to_string(),
169+
subaccount_id: auction_subaccount.to_string(),
170+
amount: Some(BaseCoin {
171+
denom: "inj".to_string(),
172+
amount: "1000000000000000000000".to_string(),
173+
}),
174+
},
175+
&trader,
176+
)
177+
.unwrap();
178+
179+
let block_time_sec = app.get_block_time_seconds() as u64;
180+
app.increase_time(basket_response_after_increase.auction_closing_time - block_time_sec + 1);
181+
182+
let basket_res = auction
183+
.query_current_auction_basket(&QueryCurrentAuctionBasketRequest {})
184+
.expect("query_current_auction_basket should succeed");
185+
186+
assert_eq!(basket_res.amount.len(), 1);
187+
assert_eq!(basket_res.auction_round, 2);
144188
}
145189
}

packages/injective-test-tube/src/module/exchange.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ where
241241
fn_query! {
242242
pub query_denom_min_notionals_v2 ["/injective.exchange.v2.Query/DenomMinNotionals"]: v2::QueryDenomMinNotionalsRequest => v2::QueryDenomMinNotionalsResponse
243243
}
244+
245+
fn_query! {
246+
pub query_denom_decimals ["/injective.exchange.v1beta1.Query/DenomDecimals"]: v2::QueryDenomDecimalsRequest => v2::QueryDenomDecimalsResponse
247+
}
244248
}
245249

246250
#[cfg(test)]
@@ -268,7 +272,7 @@ mod tests {
268272
use crate::module::helpers::{
269273
add_exchange_admin, launch_insurance_fund, launch_price_feed_oracle,
270274
};
271-
use crate::{Account, Authz, Bank, Exchange, Gov, InjectiveTestApp, Runner};
275+
use crate::{Account, Authz, Bank, Exchange, Gov, InjectiveTestApp};
272276
use test_tube_inj::Module;
273277

274278
#[test]

0 commit comments

Comments
 (0)