Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ jobs:

# Artifacts used by tests
- name: Compile workspace
run: cargo make build
run: |
cargo make build
find target/wasm32-unknown-unknown/release -type f ! -name '*.wasm' -delete

- name: Run test coverage
run: cargo make coverage-lcov
Expand Down
1 change: 1 addition & 0 deletions contracts/account-nft/tests/all_tests.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mod tests;
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use mars_types::{
health::{AccountKind, HealthValuesResponse},
};

use crate::helpers::MockEnvBuilder;
use super::MockEnvBuilder;

pub struct MockEnv {
pub app: BasicApp,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@ use mars_mock_credit_manager::msg::InstantiateMsg as CmMockInstantiateMsg;
use mars_owner::OwnerResponse;
use mars_types::{account_nft::InstantiateMsg, credit_manager::ConfigResponse};

use super::mock_credit_manager_contract;
use crate::helpers::{mock_health_contract, mock_nft_contract, MockEnv, MAX_VALUE_FOR_BURN};
use super::{
mock_credit_manager_contract, mock_health_contract, mock_nft_contract, MockEnv,
MAX_VALUE_FOR_BURN,
};

pub struct MockEnvBuilder {
pub app: BasicApp,
Expand Down
9 changes: 9 additions & 0 deletions contracts/account-nft/tests/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
mod helpers;

mod test_burn_allowance;
mod test_burn_empty_accounts;
mod test_instantiate;
mod test_migration;
mod test_mint;
mod test_proposed_minter;
mod test_update_config;
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ use mars_account_nft::error::{
};
use mars_types::{account_nft::QueryMsg::NftInfo, health::AccountKind};

use crate::helpers::{below_max_for_burn, generate_health_response, MockEnv, MAX_VALUE_FOR_BURN};

pub mod helpers;
use super::helpers::{below_max_for_burn, generate_health_response, MockEnv, MAX_VALUE_FOR_BURN};

#[test]
fn only_token_owner_can_burn() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ use mars_types::{
health::AccountKind,
};

use crate::helpers::{generate_health_response, MockEnv};

pub mod helpers;
use super::helpers::{generate_health_response, MockEnv};

#[test]
fn burning_empty_accounts_not_allowed_if_no_health_contract_set() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
use crate::helpers::{MockEnv, MAX_VALUE_FOR_BURN};

pub mod helpers;
use super::helpers::{MockEnv, MAX_VALUE_FOR_BURN};

#[test]
fn instantiated_storage_vars() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ use mars_account_nft::{
};
use mars_types::account_nft::NftConfig;

pub mod helpers;

#[test]
fn invalid_contract_name() {
let mut deps = mock_dependencies();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ use mars_types::{
health::AccountKind,
};

use crate::helpers::{below_max_for_burn, MockEnv};

pub mod helpers;
use super::helpers::{below_max_for_burn, MockEnv};

#[test]
fn id_incrementer() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ use cosmwasm_std::Addr;
use cw721_base::MinterResponse;
use mars_types::account_nft::QueryMsg;

use crate::helpers::MockEnv;

pub mod helpers;
use super::helpers::MockEnv;

#[test]
fn only_minter_can_propose_new_minter() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
use cosmwasm_std::{Addr, Uint128};
use mars_types::account_nft::NftConfigUpdates;

use crate::helpers::MockEnv;

pub mod helpers;
use super::helpers::MockEnv;

#[test]
fn only_minter_can_update_config() {
Expand Down
1 change: 1 addition & 0 deletions contracts/credit-manager/tests/all_tests.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mod tests;
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use cosmwasm_std::{coin, Decimal};
use cw_utils::Duration;
use mars_types::params::LiquidationBonus;

use crate::helpers::{lp_token_info, CoinInfo, VaultTestInfo};
use super::{lp_token_info, CoinInfo, VaultTestInfo};

pub fn build_mock_coin_infos(count: usize) -> Vec<CoinInfo> {
(1..=count)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
use cosmwasm_std::Empty;
use cw_multi_test::{App, Contract, ContractWrapper};

pub fn mock_app() -> App {
App::default()
}
use cw_multi_test::{Contract, ContractWrapper};

pub fn mock_rover_contract() -> Box<dyn Contract<Empty>> {
let contract = ContractWrapper::new(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use cosmwasm_std::{coin, Decimal};
use cw_utils::Duration;
use mars_types::params::{HlsAssetType, HlsParamsUnchecked, LiquidationBonus};

use crate::helpers::{CoinInfo, VaultTestInfo};
use super::{CoinInfo, VaultTestInfo};

pub fn coin_info(denom: &str) -> CoinInfo {
CoinInfo {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ use mars_types::{
};
use mars_zapper_mock::msg::{InstantiateMsg as ZapperInstantiateMsg, LpConfig};

use crate::helpers::{
use super::{
lp_token_info, mock_account_nft_contract, mock_address_provider_contract, mock_health_contract,
mock_incentives_contract, mock_oracle_contract, mock_params_contract, mock_red_bank_contract,
mock_rover_contract, mock_swapper_contract, mock_v2_zapper_contract, mock_vault_contract,
Expand Down Expand Up @@ -1299,11 +1299,6 @@ impl MockEnvBuilder {
self
}

pub fn emergency_owner(&mut self, eo: &Addr) -> &mut Self {
self.emergency_owner = Some(eo.clone());
self
}

pub fn vault_configs(&mut self, vault_configs: &[VaultTestInfo]) -> &mut Self {
self.vault_configs = Some(vault_configs.to_vec());
self
Expand Down
44 changes: 44 additions & 0 deletions contracts/credit-manager/tests/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
mod helpers;

mod test_borrow;
mod test_claim_rewards;
mod test_coin_balances;
mod test_create_credit_account;
mod test_deposit;
mod test_deposit_cap;
mod test_dispatch;
mod test_enumerate_accounts;
mod test_enumerate_coin_balances;
mod test_enumerate_debt_shares;
mod test_enumerate_total_debt_shares;
mod test_enumerate_vault_positions;
mod test_health;
mod test_hls_accounts;
mod test_instantiate;
mod test_lend;
mod test_liquidate_deposit;
mod test_liquidate_guard;
mod test_liquidate_lend;
mod test_liquidate_vault;
mod test_liquidation_pricing;
mod test_migration_v2;
mod test_no_health_check;
mod test_reclaim;
mod test_reentrancy_guard;
mod test_refund_balances;
mod test_repay;
mod test_repay_for_recipient;
mod test_repay_from_wallet;
mod test_swap;
mod test_update_admin;
mod test_update_config;
mod test_update_nft_config;
mod test_utilization_query;
mod test_vault_enter;
mod test_vault_exit;
mod test_vault_exit_unlocked;
mod test_vault_query_value;
mod test_vault_request_unlock;
mod test_withdraw;
mod test_zap_provide;
mod test_zap_withdraw;
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ use cosmwasm_std::{coin, coins, Addr, Uint128};
use mars_credit_manager::{borrow::DEFAULT_DEBT_SHARES_PER_COIN_BORROWED, error::ContractError};
use mars_types::credit_manager::Action::{Borrow, Deposit};

use crate::helpers::{
use super::helpers::{
assert_err, blacklisted_coin, uosmo_info, AccountToFund, MockEnv, DEFAULT_RED_BANK_COIN_BALANCE,
};

pub mod helpers;

#[test]
fn only_token_owner_can_borrow() {
let coin_info = uosmo_info();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ use mars_types::{
params::{AssetParamsUpdate::AddOrUpdate, HlsAssetType},
};

use crate::helpers::{
use super::helpers::{
assert_err, get_coin, lp_token_info, uatom_info, ujake_info, uosmo_info, AccountToFund, MockEnv,
};

pub mod helpers;

#[test]
fn claiming_rewards_when_having_none() {
let mut mock = MockEnv::new().build().unwrap();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ use cw_multi_test::{BankSudo, SudoMsg};
use mars_credit_manager::error::ContractError;
use mars_types::credit_manager::{Action::Deposit, CallbackMsg, ChangeExpected};

use crate::helpers::{assert_err, uosmo_info, AccountToFund, MockEnv};

pub mod helpers;
use super::helpers::{assert_err, uosmo_info, AccountToFund, MockEnv};

#[test]
fn only_rover_can_call_update_coin_balances() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ use cosmwasm_std::{Addr, Empty};
use cw721::OwnerOfResponse;
use cw721_base::QueryMsg as NftQueryMsg;

use crate::helpers::MockEnv;

pub mod helpers;
use super::helpers::MockEnv;

#[test]
fn create_credit_account_fails_without_nft_contract_set() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ use mars_credit_manager::error::ContractError::{
};
use mars_types::credit_manager::{Action, Positions};

use crate::helpers::{
use super::helpers::{
assert_err, blacklisted_coin, uatom_info, ujake_info, uosmo_info, AccountToFund, CoinInfo,
MockEnv,
};

pub mod helpers;

#[test]
fn only_owner_of_token_can_deposit() {
let mut mock = MockEnv::new().build().unwrap();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// must be public module so that clippy doesn't complain "dead code"
pub mod helpers;

use std::collections::HashMap;

use cosmwasm_std::{Addr, Coin, Coins, Decimal, StdResult, Uint128};
Expand All @@ -11,7 +8,7 @@ use mars_types::{
};
use test_case::test_case;

use crate::helpers::{uatom_info, uosmo_info, AccountToFund, MockEnv};
use super::helpers::{uatom_info, uosmo_info, AccountToFund, MockEnv};

#[test_case(
[].into(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
use cosmwasm_std::{coin, Addr};
use helpers::assert_err;
use mars_credit_manager::error::{ContractError, ContractError::NotTokenOwner};
use mars_types::credit_manager::CallbackMsg;

use crate::helpers::MockEnv;

pub mod helpers;
use super::helpers::{assert_err, MockEnv};

#[test]
fn dispatch_only_allowed_for_token_owner() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
use cosmwasm_std::Addr;
use mars_types::{credit_manager::Account, health::AccountKind};

use crate::helpers::MockEnv;

pub mod helpers;
use super::helpers::MockEnv;

fn account_default(id: &str) -> Account {
Account {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
use cosmwasm_std::{coin, Addr, Uint128};
use mars_types::credit_manager::{Action, CoinBalanceResponseItem};

use crate::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

pub mod helpers;
use super::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

#[test]
fn pagination_on_all_coin_balances_query_works() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ use cosmwasm_std::{coin, Addr};
use mars_credit_manager::borrow::DEFAULT_DEBT_SHARES_PER_COIN_BORROWED;
use mars_types::credit_manager::{Action, SharesResponseItem};

use crate::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

pub mod helpers;
use super::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

#[test]
fn pagination_on_all_debt_shares_query_works() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ use cosmwasm_std::{coin, Addr};
use mars_credit_manager::borrow::DEFAULT_DEBT_SHARES_PER_COIN_BORROWED;
use mars_types::credit_manager::{Action, DebtShares};

use crate::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

pub mod helpers;
use super::helpers::{build_mock_coin_infos, AccountToFund, MockEnv};

#[test]
fn pagination_on_all_total_debt_shares_query_works() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@ use cosmwasm_std::Addr;
use itertools::Itertools;
use mars_types::credit_manager::Action;

use crate::helpers::{
use super::helpers::{
assert_contents_equal, build_mock_vaults, lp_token_info, AccountToFund, MockEnv,
};

pub mod helpers;

#[test]
fn pagination_on_all_vault_positions_query_works() {
let lp_token = lp_token_info();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,11 @@ use mars_types::{
params::{AssetParamsUpdate::AddOrUpdate, LiquidationBonus, VaultConfigUpdate},
};

use crate::helpers::{
use super::helpers::{
assert_err, lp_token_info, uatom_info, ujake_info, unlocked_vault_info, uosmo_info,
AccountToFund, CoinInfo, MockEnv,
};

pub mod helpers;

// Health scenarios:
// https://docs.google.com/spreadsheets/d/1YhydvetAkLywgyFjpzLIdRe-_z-KbjFOigiPuQBh-ac/edit#gid=1394903922

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@ use mars_types::{
params::{AssetParamsUpdate::AddOrUpdate, HlsAssetType},
};

use crate::helpers::{
use super::helpers::{
assert_err, lp_token_info, uatom_info, ujake_info, unlocked_vault_info, AccountToFund, MockEnv,
};

pub mod helpers;

#[test]
fn queries_return_the_expected_kind() {
let mut mock = MockEnv::new().build().unwrap();
Expand Down
Loading