Skip to content

Commit

Permalink
undo
Browse files Browse the repository at this point in the history
  • Loading branch information
ZackAttax committed Jan 31, 2025
1 parent dc88fab commit 3fb13b4
Showing 1 changed file with 0 additions and 160 deletions.
160 changes: 0 additions & 160 deletions tests/lib.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -662,163 +662,3 @@ fn test_minter_is_operator_check() {
!tokenized_bond.minter_is_operator(TOKEN_ID(), NOT_MINTER()), 'Non-minter not be operator',
);
}

#[test]
fn test_check_owner_and_operator_success() {
let (tokenized_bond, minter) = setup_contract_with_minter();
start_cheat_caller_address(tokenized_bond.contract_address, minter);

let transfer_destination = array![
TokenizedBond::TransferDestination {
receiver: OWNER(), amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
];

let transfers = array![TokenizedBond::TransferParam { from: minter, to: transfer_destination }];

assert(tokenized_bond.check_owner_and_operator(transfers.clone()), 'Owner check should pass');
start_cheat_caller_address(tokenized_bond.contract_address, OWNER());
tokenized_bond.set_minter_as_operator(TOKEN_ID());

start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(
tokenized_bond.check_owner_and_operator(transfers.clone()), 'Operator check should pass',
);
}

#[test]
fn test_check_owner_and_operator_multiple_destinations() {
let (tokenized_bond, minter) = setup_contract_with_minter();
let receiver1 = setup_receiver();
let receiver2 = setup_receiver();

let multiple_destinations = array![
TokenizedBond::TransferDestination {
receiver: receiver1, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
TokenizedBond::TransferDestination {
receiver: receiver2, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
];

let transfer_with_multiple_destinations = array![
TokenizedBond::TransferParam { from: minter, to: multiple_destinations },
];

start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(
tokenized_bond.check_owner_and_operator(transfer_with_multiple_destinations),
'Failed for multiple destination',
);
}

#[test]
fn test_check_owner_and_operator_empty_transfers() {
let (tokenized_bond, _minter) = setup_contract_with_minter();
let transfers = array![];
start_cheat_caller_address(tokenized_bond.contract_address, NOT_MINTER());
assert(!tokenized_bond.check_owner_and_operator(transfers), 'Empty transfers check failed');
}

#[test]
fn test_check_owner_and_operator_as_token_owner() {
let (tokenized_bond, minter) = setup_contract_with_minter();
let receiver1 = setup_receiver();

let transfer_destination = array![
TokenizedBond::TransferDestination {
receiver: receiver1, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
];

let transfers = array![TokenizedBond::TransferParam { from: minter, to: transfer_destination }];

start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(tokenized_bond.check_owner_and_operator(transfers), 'Should pass as token owner');
}

#[test]
fn test_check_owner_and_operator_as_operator() {
let (tokenized_bond, minter) = setup_contract_with_minter();
let receiver1 = setup_receiver();

let transfer_destination = array![
TokenizedBond::TransferDestination {
receiver: receiver1, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
];

let transfers = array![TokenizedBond::TransferParam { from: minter, to: transfer_destination }];

start_cheat_caller_address(tokenized_bond.contract_address, OWNER());
tokenized_bond.set_minter_as_operator(TOKEN_ID());

start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(tokenized_bond.check_owner_and_operator(transfers), 'Should pass as operator');
}

#[test]
fn test_check_owner_and_operator_zero_balance() {
let (tokenized_bond, minter) = setup_contract_with_minter();
let receiver1 = setup_receiver();
let other_account = setup_receiver();

start_cheat_caller_address(tokenized_bond.contract_address, OWNER());
tokenized_bond.add_minter(other_account);

start_cheat_caller_address(tokenized_bond.contract_address, other_account);

let zero_balance_destination = array![
TokenizedBond::TransferDestination {
receiver: receiver1, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
];

let zero_balance_transfers = array![
TokenizedBond::TransferParam { from: minter, to: zero_balance_destination },
];

assert(
!tokenized_bond.check_owner_and_operator(zero_balance_transfers),
'Should fail for zero balance',
);
} /// this test case doesn't make any sense as of now as there is not checking point of zero balance on main check_operator func and tranfer function // remove this

#[test]
fn test_check_owner_and_operator_multiple_transfers() {
let (tokenized_bond, minter) = setup_contract_with_minter();
let receiver1 = setup_receiver();
let receiver2 = setup_receiver();
let transfers = array![
TokenizedBond::TransferParam {
from: minter,
to: array![
TokenizedBond::TransferDestination {
receiver: receiver1, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
],
},
TokenizedBond::TransferParam {
from: minter,
to: array![
TokenizedBond::TransferDestination {
receiver: receiver2, amount: TRANSFER_AMOUNT(), token_id: TOKEN_ID(),
},
],
},
];

start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(tokenized_bond.check_owner_and_operator(transfers.clone()), 'Should pass as minter');

start_cheat_caller_address(tokenized_bond.contract_address, OWNER());
tokenized_bond.set_minter_as_operator(TOKEN_ID());
start_cheat_caller_address(tokenized_bond.contract_address, minter);
assert(tokenized_bond.check_owner_and_operator(transfers.clone()), 'Should pass as operator');

start_cheat_caller_address(tokenized_bond.contract_address, NOT_MINTER());
assert(
!tokenized_bond.check_owner_and_operator(transfers.clone()),
'Should fail as non-operator' // TODO: fix this test by adding non-owner
);
}

0 comments on commit 3fb13b4

Please sign in to comment.