Description: Test cases for the "Spawn" transaction feature in Smapp.
Priority: 1
Prerequisites: Smapp must be properly installed, operational, and synced. A newly created Wallet must be present.
Test Cases:
01 - Validate the availability of the "Spawn" button for a newly created Wallet
02 - Validate the self-spawn transaction window
03 - Validate unlocking of the Send SMH option
04 - Validate error handling during Spawn transaction
05 - Validate timeout handling
06 - Validate the transaction log entry for self-spawn
07 - Validate the UI/UX elements during the Spawn transaction
08 - Validate behavior during network disruptions
09 - Validate resource utilization
10 - Validate logs and auditing
Description: Validate the availability of the "Spawn" button for a newly created Wallet.
Steps:
- Open Smapp
- Go to the "Wallet" screen
Test Data: None
Expected Result: The "Spawn" button should be visible and available for a newly created Wallet.
Description: Validate the self-spawn transaction window.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Click the "Spawn" button
Test Data: None
Expected Result: The self-spawn transaction window should appear showing correct Account details and fees options.
Description: Validate unlocking of the Send SMH option.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Successfully submit the spawn transaction
Test Data: None
Expected Result: The Send SMH option should be unlocked and fully functional.
Description: Validate error handling during Spawn transaction
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Attempt a Spawn transaction that should fail (e.g., insufficient balance, server error)
Test Data: None
Expected Result: Proper error messages should be displayed to guide the user.
Description: Validate timeout handling.
Steps:
- Open Smapp
- Go to the "Wallet" screen and sucessfully sumbit Spawn tx.
- Wait until the transaction is completed, note how much time has passed.
- Check what happens after 3, 5 and 10 minutes, if the transaction is applied and you are able to submit a regular tx.
Test Data: None
Expected Result: The spawn transactions should be applied. The Spawn button should be greyed out during the tx processing. After the tx is submitted, the Spawn button should disappear, we should see the Send button.
Description: Validate the transaction log entry for self-spawn.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Successfully submit the spawn transaction
- Go to the transaction log
Test Data: None
Expected Result: The self-spawn transaction should exist in the transaction log with all details.
Description: Validate the UI/UX elements during the Spawn transaction.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Observe UI elements and UX design involved in the Spawn transaction
Test Data: None
Expected Result: All UI/UX elements should be responsive and clear.
Description: Validate behavior during network disruptions.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Initiate a Spawn transaction
- Disconnect from the network during the transaction
Test Data: None
Expected Result: The application should display an appropriate error or warning message, the tx should be correctly applied once the Internet connection reestablished and node is synced. The tx should not be applied if the node isn't synced, it should not be frozen in the pending or any other state.
Description: Validate resource utilization during the Spawn transaction.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Monitor CPU and memory usage during the Spawn transaction
Test Data: None
Expected Result: CPU and memory utilization should remain within acceptable limits.
Description: Validate logs and auditing for the Spawn transaction.
Steps:
- Open Smapp
- Go to the "Wallet" screen
- Initiate a Spawn transaction
- Check app-logs and go-spacemesh log files
Test Data: None
Expected Result: All actions should be correctly logged for auditing purposes.