Online Channel Test Cases
...
Case | Summary | Description | Acceptance Criteria | |||||||
---|---|---|---|---|---|---|---|---|---|---|
A | Merchant Configuration | |||||||||
A-1 | Validate API credentials - Client ID | Merchant's API credentials (Client ID and Client Secret) are present and valid in the Flexiti Developer Portal | Merchant is able to successfully authenticate with Flexiti API using these credentials | |||||||
A-2 | Validate API credentials - Client Secret | Merchant's API credentials (Client ID and Client Secret) are present and valid in the Flexiti Developer Portal | Merchant is able to successfully authenticate with Flexiti API using these credentials | |||||||
A-3 | Validate API Base URL is referencing correct Flexiti environment | Merchant's environment should reference the correct Flexiti environments |
| |||||||
B | Merchant Authentication and Login | |||||||||
B-1 | Unsuccessfully Authenticate with Flexiti's POS API - invalid client | Test Case: Access the API with
| POST /oauth/token - 400 - invalid_client | |||||||
B-2 | Unsuccessfully call an endpoint - Invalid token | Test Case: Call the /token endpoint to generate a token and then call a different endpoint after the "expires_in" value expires. | Any endpoint - 401 - unauthorized | |||||||
B-3 | Unsuccessfully call an endpoint - wrong scope | Test Case: Attempt to call the following endpoints with an token that has a “customer” scope:
|
| |||||||
B-4 | Any API call - Session time out | Test Case:
| GET {{pos_url}}/flexiti/pos-api/v2.5/client-id/{{client_id}}/customers/lookup?account_number=0001 - 504 - GATEWAY_TIMEOUT | |||||||
B-5 | Successfully Authenticate with Flexiti's POS API | Test Case: Use the correct “client_secret” and “client_id” from the Developer Portal to access the Flexiti API. | POST /oauth/token - 200 | |||||||
C | Customer Apply & Apply/Buy Flows | |||||||||
C-1 - /init Endpoint (Widget) | ||||||||||
C-1.1 | Customer already has an account that need needs to be to activated | Test Case:
| POST /client-id/{{client_id}}/widget/init - 200
| |||||||
C-1.2 | Customer submits a new application and Flexiti identifies the customer has an existing account. | Test Case:
| POST /client-id/{{client_id}}/widget/init - 200
| |||||||
C-1.3 | Customer submits a new application .(widget) | Test Case: Create Application with new informationUse a new application payload but pass the key below as the middle name:
| POST /client-id/{{client_id}}/widget/init - 200
Send the application payload through the POST /client-id/{client_id}/apply endpoint | |||||||
C-1.4 | Customer submits a new application but cannot proceed with an application that will be declined due to a derogatory status’s on an existing account. | Test Case:
| POST /client-id/{{client_id}}/widget/init - 200
Send the application payload through the POST /client-id/{client_id}/apply endpoint | |||||||
C-1.5 | Customer attempts an application but there is an IT related error. | To be performed with Flexiti Assistance. Test Case: Use a new application payload but pass the key below as the middle name:
| POST /client-id/{{client_id}}/widget/init - 409 -application_create_error
| |||||||
C-1.5 | Customer initiates and then fails verification | Test Case: Create Application with new information and enter 1111 as the pin 4 times. | POST /client-id/{{client_id}}/widget/init - 200
| C-2 - /Apply EndpointSend the application payload through the POST /client-id/{client_id}/apply endpoint | ||||||
C-2.1 | New user initiates and fails application flow - invalid inputs | 1.6 | Test Case:
| |||||||
C-1.7 | Application submission fails - Terms and Conditions required | Test Case:
POST /client-id/{client_id}/apply - 409 - "
| ||||||||
D-6 | New user initiates and fails application flow - terms and conditions required | Test Case: Any application where | POST /client-id/{client_id}/apply - 409 - "tos_agreement_required"
| |||||||
D-7 | New user initiates and fails application flow - SIN number format | Test Case: Any application where "sin": 12312
| ||||||||
C-2 - /Apply Endpoint | ||||||||||
C-2.1 | Application submission fails - invalid inputs | Test Case:
| POST /client-id/{client_id}/apply - 409 - "
| |||||||
DC-8 | New user initiates and fails application flow - Third Party time out | Test Case: Any application with | POST 2.2 | Application submission fails - Terms and Conditions required | Test Case: Any application where | POST /client-id/{client_id}/apply - 409 - "tos_agreement_required"
application_create_error
| ||||
D-9 | New Flexiti user initiates and completes application flow - approval | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
D-10 | New Flexiti user initiates and completes application flow - pending | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
D-11 | New Flexiti user initiates and completes application flow - decline | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
D-7 | New user initiates and fails application flow - SIN number format | Test Case: Any application where | POST /client-id/{client_id}/apply - 409 - "wrong_inputs"
| |||||||
D-8 | New user initiates and fails application flow - Third Party time out | Test Case: Any application with | POST /client-id/{client_id}/apply - 409 - | |||||||
D-9 | New Flexiti user initiates and completes application flow - approval | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
D-10 | New Flexiti user initiates and completes application flow - pending | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
D-11 | New Flexiti user initiates and completes application flow - decline | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - | |||||||
C-3 - /Authorization Endpoint | ||||||||||
E | Customer Buy Flow | |||||||||
E-1 | Customer initiates and then fails verification - account not found | Test Case:
| POST /client-id/{{client_id}}/widget/init - 404 - not_found
| |||||||
G-1 | Customer initiates and then cancels Flexiti Authorization | To be handled by Merchant’s implementation design, the customer should be able to cancel the transaction process at any time up to the authorization call. | Customer successfully cancels the transaction flow prior to the POST /client-id/{client-id}/authorization request | |||||||
G-2 | Customer initiates and then fails verification - account not found | Test Case:
| POST /client-id/{{client_id}}/widget/init - 404 - not_found
| |||||||
G-3 | Customer initiates and then fails Flexiti authorization - missing verification code | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - verification_code_required | |||||||
G-4 | Customer initiates and then fails Flexiti authorization - Account Number not found | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 404 - not_found | |||||||
G-5 | Customer initiates and then fails Flexiti authorization - user not able to purchase | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - user_not_able_to_purchase | |||||||
G-6 | Customer initiates and then fails Flexiti authorization - not enough credit | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - credit_exceeded | |||||||
G-7 | Customer initiates and then fails Flexiti authorization - invalid plan ID | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client-id}/authorization - 409 - plan_term_not_set | |||||||
G-8 | Customer initiates and then fails Flexiti authorization - invalid term | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client-id}/authorization - 409 - plan_term_not_set | |||||||
G-9 | Customer initiates and then fails Flexiti authorization - plan not available to customer | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - plan_term_not_available | |||||||
G-10 | Customer successfully performs a regular purchase authorization (QC Account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 | |||||||
G-11 | Customer successfully performs a promotional purchase authorization (QC Account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 | |||||||
G-12 | Customer successfully performs a regular purchase authorization (ROC account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 | |||||||
G-13 | Customer successfully performs a promotional purchase authorization (ROC Account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 | |||||||
G-14 | Response in "account_avs" with customer address matching values | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client-id}/authorization - 200 | |||||||
H | Merchant Order Management | |||||||||
H-1 | Unsuccessfully release an authorization - wrong transaction ID | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/release - not_found | |||||||
H-2 | Unsuccessfully release an authorization - total requested more than authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/release - auth_amount_exceeded | |||||||
H-3 | Unsuccessfully release an authorization - authorization ended | Test Case: Merchant generated from test data in sandbox account with Flexiti assistance. | POST /client-id/{clientId}/authorization/{authorizationId}/release - authorization_ended | |||||||
H-4 | Unsuccessfully release an authorization - employee does not have permission | Test Case: Merchant generated from test data in sandbox account with Flexiti assistance | POST /client-id/{clientId}/authorization/{authorizationId}/release - not_permitted | |||||||
H-5 | Perform a full release of an Authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/release - 200 | |||||||
H-6 | Perform a partial release of an Authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/release - 200 | |||||||
H-7 | Unsuccessfully capture an authorization - customer not able to purchase | Test Case: Merchant generated from test data in sandbox account with Flexiti assistance. | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - not_permitted | |||||||
H-8 | Unsuccessfully capture an authorization - authorization not capturable | Test Case: Merchant generated from test data in sandbox account with Flexiti assistance. | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - not_permitted | |||||||
H-9 | Unsuccessfully capture an authorization - wrong authorization ID | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 404 - not_found | |||||||
H-10 | Unsuccessfully capture an authorization - amount greater than authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - auth_amount_exceeded | |||||||
H-11 | Fully Capture an authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 200 | |||||||
H-12 | Partially Capture an authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 200 | |||||||
H-13 | Unsuccessfully refund a captured regular purchase - customer account not found | Test Case: Account #: 1234 | POST /client-id/{client_id}/accounts/{account_number}/refund - 404 - not_found | |||||||
H-14 | Unsuccessfully refund a captured regular purchase - refund exceeds limit | Test Case: Merchant generated from test data in sandbox account with Flexiti assistance. | POST /client-id/{client_id}/accounts/{account_number}/refund - 409 - refunds_limit_exceeded_amount | |||||||
H-15 | Perform a full refund of a captured regular purchase | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client_id}/accounts/{account_number}/refund - 200 | |||||||
H-16 | Perform a Partial Refund of a captured regular purchase | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client_id}/accounts/{account_number}/refund - 200 | |||||||
H-17 | Unsuccessfully return a captured promotional purchase - wrong authorization ID | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return | |||||||
H-18 | Unsuccessfully return a captured promotional purchase - return exceeds limit | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return | |||||||
H-19 | Perform a full Return on a captured promotional purchase | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return - 200 | |||||||
H-20 | Perform a Partial return of a captured promotional purchase | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return - 200 | |||||||
H-21 | Unsuccessfully view list of Authorizations available for capture - wrong dates | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/authorizations - 409 - date_from_bigger_than_date_to | |||||||
H-22 | View a list of Authorizations available for capture | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/authorizations - 200 | |||||||
H-23 | Unsuccessfully view an authorization - authorization not found | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/authorization/{authorizationId} - 409 - not_found | |||||||
H-24 | View an authorization | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/authorization/{authorizationId} - 200 | |||||||
H-25 | Unsuccessfully View a list of captures - wrong dates | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/captures - 409 - date_from_bigger_than_date_to | |||||||
I-26 | View a list of captures | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/captures - 200 |
...