## Preparations (Admin Console)
* go to {nav Website & Content > Structure & Data > Products} section
* click on `Sections` tab
* use `New Section` toolbar button to create `Sub Products` section
* go to {nav Website & Content > Structure & Data > Products > Sub Products} section
* click on `Products` tab
* use `New Product` toolbar button to create new service product with non-zero price
* if product was created with `0` price, then edit it again and set non-zero price
* use `New Product` toolbar button to create new tangible product with non-zero price
* go to {nav Configuration > E-commerce > Payment Types} section
* select `Credit Card (manual)` payment type
* press `Set Primary` toolbar button
* go to {nav Configuration > E-commerce > Shipping} section
* click on `Custom Shipping Types` tab
* use `Add` button to create new shipping type, that would cover all zones and have handling type
## Part 1 (debug only credit card numbers)
# in IDE
* change `\kGWBase::gettestccnumbers` method (file: `/modules/in-commerce/units/gateways/gw_classes/gw_base.php`) to return `array('4222222222222');`
* enable both `DEBUG_MODE` and `DBG_PAYMENT_GW` options in `$dbg_options` array in `/system/debug.php` file
# On Front-End
* click on {nav Products > Sub Products} item in top menu
* confirm, that created before service product is displayed
* click on `Buy Now` button next to service product created above
* confirm, that redirect to Shopping Cart page happened
* click on `Proceed to Checkout` button at below the cart
* confirm, that redirect to billing page happened
* type `xx` into `Credit Card Number` field and press `Proceed to preview` button
* confirm, that `Credit card number is invalid` error is shown above `Credit Card Number` field
* type `4222222222222` into `Credit Card Number` field and press `Proceed to preview` button
* confirm, that no error is shown above `Credit Card Number` field
## Part 2 (card charging, form tags)
# On Front-End
* click on {nav Products > Sub Products} item in top menu
* confirm, that created before service product is displayed
* click on `Buy Now` button next to service product created above
* confirm, that redirect to Shopping Cart page happened
* click on `Proceed to Checkout` button at below the cart
* confirm, that redirect to billing page happened
* fill all required fields on them form and press `Proceed to preview` button
* confirm, that redirect to preview page happened
* press `Place Order` button
* confirm, that redirect to thank you page happened
## Part 3 (approving order)
# On Front-End
* repeat all steps from `Part 2` of test plan
# In Admin Console
* go to {nav E-commerce > Orders} section
* click on `Pending` tab
* select order, that was created on Front-End
* press `Approve` toolbar button
* confirm, that order was moved from `Pending` into `Processed` tab
## Part 4 (denying order)
# On Front-End
* repeat all steps from `Part 2` of test plan
# In Admin Console
* go to {nav E-commerce > Orders} section
* click on `Pending` tab
* select order, that was created on Front-End
* press `Deny` toolbar button
* confirm, that order was moved from `Pending` into `Denied` tab
## Part 5 (shipping order)
# On Front-End
* click on {nav Products > Sub Products} item in top menu
* confirm, that created before tangible product is displayed
* click on `Buy Now` button next to tangible product created above
* confirm, that redirect to Shopping Cart page happened
* click on `Proceed to Checkout` button at below the cart
* confirm, that redirect to shipping page happened
* fill required form fields and "Shipping Email" field
* press `Update Address` button
* confirm, that shipping types appeared at form bottom
* press `Proceed to Billing` button
* confirm, that redirect to billing page happened
* fill all required fields on them form and press `Proceed to preview` button
* confirm, that redirect to preview page happened
* press `Place Order` button
* confirm, that redirect to thank you page happened
# In Admin Console
* go to {nav E-commerce > Orders} section
* click on `Pending` tab
* select order, that was created on Front-End
* press `Approve` toolbar button
* confirm, that order was moved from `Pending` into `To Ship` tab
* go to `To Ship` tab
* select order, that was created on Front-End
* press `Ship` toolbar button
* confirm, that order was moved from `To Ship` into `Processed` tab