# PUMO Test Cases

#### 1. Mint synthetic assets by staking original assets

Stake original assets (ATP, etc.) and mint synthetic asset tokens (USDP, etc.).

* Connect wallet - Mint - Select native asset - Adjust mint ratio - Authorization - mint
* Expected result: Synthetic asset minted.

#### 2. Assets Swap

Swap between original assets and synthetic assets

* Connect wallet - Swap - Authorization - swap
* Expected Results: Swap between original assets and synthetic assets (interchangeable).

#### 3. Insurance pool (buy insurance)

The policyholder injects native assets (such as aUSDT, etc.) into the insurance pool to earn the interests of the insurance pool and bear the corresponding risks in the same time.

* Connect wallet - Authorization - Stake - Amount of assets to stake - Confirm
* Expected Result: The policyholder is successfully insured and the corresponding LP token is minted.

#### 4. Insurance pool (redeem insurance)

The policyholder can redeem their staked native assets with the LP token. After buying an insurance, it can be redeemed within the specified date range, and the redemption window period is 2 days.

* Connect wallet - redemption - Amount of redeemed assets - Confirm
* Expected result: The native asset is redeemed to the user's wallet and the corresponding LP token is burnt.

#### 5. Increase/decrease staking

Users can increase or decrease their staked assets to adjust the mortgage rates of their debts position.&#x20;

* Debt position - Increase/decrease staking - Enter quantity - Authorization - Confirm
* Expected result：The mortgage rate and liquidation price of user's debt positions have changed.

#### 6. Mint Synthetic Assets

If the user's current mortgage rate is less than the initial maximum mortgage rate, they can continue to mint synthetic assets.

* Debt position - new coins - Enter quantity - Confirm
* Expected result：new synthetic assets are minted and the mortgage rate and liquidation price of user's debt positions have changed.

#### 7. Repayment

Users can reduce the mortgage rate by repay their debt, mitigating the risk of liquidation.

* Debt position - Repay - Enter quantity - Confirm
* Expected result：Debts are repaid and the mortgage rate and liquidation price of user's debt positions have changed.

#### 8. Insurance pool functionality verification



#### 9. Liquidation

When the price of the underlying asset falls or the price of the synthetic asset corresponding to the debt rises, the debt position can be liquidated.

* Expected result: When the staked asset of the debt position reaches the liquidation price, the system will liquidate the debt position.

#### 10. Project system data interface

List the system's synthetic assets circulation, asset value statistics, asset prices and other data information.

* Expected results: Display the data and information of the synthetic assets circulation, asset value statistics and asset price of the project.













