hedera-services
hedera-services copied to clipboard
TokenClaimAirdrop Transaction - Acceptance Tests
This list is corresponding to the acceptance tests in design doc
### Tasks
- [ ] Given existing pending airdrop in state when valid TokenClaimAirdrop transaction containing entry for the same pending airdrop is performed then the TokenClaimAirdrop should succeed resulting in: the tokens being claimed should be automatically associated with the receiver_id account. the tokens being claimed should be transferred to the receiver_id account. the pending airdrop should be removed from state. the transaction record should contain the transferred tokens in tokenTransferLists field
- [ ] Given existing pending airdrop in state when valid TokenClaimAirdrop transaction containing entry for the same pending airdrop is performed and the token in the pending airdrop is frozen or paused then the TokenClaimAirdrop should fail without modifying the pending airdrop state
- [ ] Given existing pending airdrop in state when valid TokenClaimAirdrop transaction containing entry for the same pending airdrop is performed and the token in the pending airdrop is deleted then the TokenClaimAirdrop should fail and the pending airdrop should be removed from state
- [ ] Given a successful TokenClaimAirdrop transaction having a hollow account as receiver_id should also complete the account without modifying its maxAutoAssociations value
- [ ] Given successful TokenClaimAirdrop when another TokenClaimAirdrop for the same airdrop is performed then the second TokenClaimAirdrop should fail
- [ ] TokenClaimAirdrop transaction with no pending airdrops entries should fail
- [ ] TokenClaimAirdrop transaction with more than 10 pending airdrops entries should fail
- [ ] TokenClaimAirdrop transaction containing duplicate entries should fail
- [ ] TokenClaimAirdrop transaction containing pending airdrops entries which do not exist in state should fail
- [ ] TokenClaimAirdrop transaction not signed by the account referenced by a receiver_id for each entry in the pending airdrops list should fail
- [ ] TokenClaimAirdrop transaction with a sender_id account that does not have sufficient balance or not enough allowance of the claimed token should fail
- [ ] Given the feature flag for TokenClaimAirdrop is disabled then any TokenClaimAirdrop transaction should fail with NOT_SUPPORTED