...
GET /accounts/{accountId}
Scenario | Response | Expected outcome |
---|---|---|
Valid accountId has been provided: CurrentAccount for retail user in Active status | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter which should be present in the response body and the schema aligns with a CurrentAccount for Retail user in Active status |
Valid accountId has been provided: CurrentAccount for SME user in Closed status | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CurrentAccount for SME user in closed status |
Valid accountId has been provided: CurrentAccount for Corporate user in Dormant status | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CurrentAccount for Corporate user in Dormant status |
Valid accountId has been provided :Savings for retail user in Suspended status | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for retail user in Suspended status |
Valid accountId has been provided :Savings for SME user in NotActive status | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for SME user in NotActive status |
Valid accountId has been provided :Savings for Corporate user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for Corporate user |
Valid accountId has been provided: CreditCard for retail user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for retail user |
Valid accountId has been provided: CreditCard for SME user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for SME user |
Valid accountId has been provided: CreditCard for Corporate user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for Corporate user |
A valid accountId has been provided: PrePaidCard for retail user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for retail user |
A valid accountId has been provided: PrePaidCard for SME user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for SME user |
A valid accountId has been provided: PrePaidCard for Corporate user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for Corporate user |
Valid accountId has been provided: EMoney for retail user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for retail user |
Valid accountId has been provided: EMoney for SME user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for SME user |
Valid accountId has been provided: EMoney for Corporate user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for Corporate user |
Valid accountId has been provided: ChargeCard for SME user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for SME user |
Valid accountId has been provided: ChargeCard for Corporate user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for Corporate user |
Valid accountId has been provided: ChargeCard for Retail user | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for Retail user |
Valid accountId has been provided: Other for Retail | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for Retail user |
Valid accountId has been provided: Other for Corporate | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for Corporate user |
Valid accountId has been provided: Other for SME | 200 | Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for SME user |
...
Scenario | Response | Expected outcome |
---|---|---|
Valid accountId provided in the path parameter which has standing-orders in Active and Inactive status | 200 | Returns a 200 if all headers are valid and Returns standing-orders of specified accountId in descending/ascending order of which date? |
Valid accountId provided in the path parameter which has standing-orders of type BetweenMyAccounts, SameBankTransfer, LocalBankTransfer, InternationalTransfer, Charity | 200 | Returns a 200 if all headers are valid and Returns standing-orders of specified accountId which has different SOs like BetweenMyAccounts, SameBankTransfer, LocalBankTransfer, InternationalTransfer, Charity |
Valid accountId provided in the path parameter which has a empty standing-orders | 200 | Returns a 200 with empty array if all headers are valid and accountId Returns no standing-orders |
Missing accountId path parameter | 401 | fails with 401 if accountIdis missing |
Invalid accountId | 400 | fails with 400 if accountId format is invalid |
Common header validations for AIS and PIS endpoints:
Scenario | Response | Expected outcome |
---|
Fail if o3-psu-identifier |
header is missing | 400 |
Fail if o3-psu-identifier |
Invalid o3-psu-identifier header - not a b64 encoded value
400
fails with 400 if o3-psu-identifier header is invalid - not a base 64 encoded value
Invalid o3-psu-identifier header - value is base 64 encoded, but the decoded value is not valid JSON
400
fails with 400 if o3-psu-identifier header is invalid - not a valid json
Invalid o3-psu-identifier header - the decoded value is valid JSON, but it lacks the userId parameter
400
fails with 400 if o3-psu-identifier header is invalid - the decoded value is valid JSON, but it lacks the userId parameter
header is missing with status 400 and correct schema | ||
Fail if o3-api-uri header is missing | 400 | Fail if o3-api-uri header is missing with status 400 and correct schema |
Fail if o3-api-operation header is missing | 400 | Fail if o3-api-operation header is missing with status 400 and correct schema |
Fail if o3-aspsp-id header is missing | 400 | Fail if o3-aspsp-id header is missing with status 400 and correct schema |
Fail if o3-ozone-interaction-id header is missing | 400 |
Fail if o3-ozone-interaction-id header is |
missing with status 400 and correct schema |
Fail if o3- |
provider- |
id header is missing | 400 |
Fail if o3- |
provider- |
id header is |
Missing o3-aspsp-id header (o3-provider-id)
400
fails with 400 if o3-aspsp-id header param is not specified
Invalid o3-aspsp-id header (o3-provider-id)
400
fails with 400 if o3-provider-id header is invalid
2. Bank Service Test Cases
GET payments/{paymentId}
Scenario
Response
Expected outcome
Inquire a 'Pending' Single Immediate domestic payment
Note: When conducting the tests as described above, the main goal is to verify that all payments in different statuses can be accessed with the accurate schema.
200 with payment details in the response
missing with status 400 and correct schema | ||
Fail if o3-caller-org-id header is missing | 400 | Fail if o3-caller-org-id header is missing with status 400 and correct schema |
Fail if o3-caller-client-id header is missing | 400 | Fail if o3-caller-client-id header is missing with status 400 and correct schema |
Fail if o3-caller-software-statement-id header is missing | 400 | Fail if o3-caller-software-statement-id header is missing with status 400 and correct schema |
Fail if o3-consent-id header is missing | 400 | Fail if o3-consent-id header is missing with status 400 and correct schema |
Fail if o3-consent-id header is having invalid value | 400 | Fail if o3-consent-id header is having invalid value with status 400 and correct schema |
Fail if o3-caller-software-statement-id header is having invalid value | 400 | Fail if o3-caller-software-statement-id header is having invalid value with status 400 and correct schema |
Fail if o3-caller-client-id header is having invalid value | 400 | Fail if o3-caller-client-id header is having invalid value with status 400 and correct schema |
Fail if o3-caller-org-id header is having invalid value | 400 | Fail if o3-caller-org-id header is having invalid value with status 400 and correct schema |
Fail if o3-provider-id header is having invalid value | 400 | Fail if o3-provider-id header is having invalid value with status 400 and correct schema |
Fail if o3-ozone-interaction-id header is having invalid value | 400 | Fail if o3-ozone-interaction-id header is having invalid value with status 400 and correct schema |
Fail if o3-aspsp-id header is having invalid value | 400 | Fail if o3-aspsp-id header is having invalid value with status 400 and correct schema |
Fail if o3-api-operation header is having invalid value | 400 | Fail if o3-api-operation header is having invalid value with status 400 and correct schema |
Fail if o3-api-uri header is having invalid value | 400 | Fail if o3-api-uri header is having invalid value with status 400 and correct schema |
Fail if o3-psu-identifier header is having invalid value | 400 | Fail if o3-psu-identifier header is having invalid value with status 400 and correct schema |
Fails if o3-psu-identifier is not b64 encoded | 400 | Fails if o3-psu-identifier is not b64 encoded with status 400 and correct schema |
Fails if o3-psu-identifier does not evaluate to a json structure | 400 | Fails if o3-psu-identifier does not evaluate to a json structure, with status 400 and correct schema |
Fails if o3-psu-identifier does not contain userId | 400 | Fails if o3-psu-identifier does not contain userId, with status 400 and correct schema |
Fails if o3-psu-identifier header is invalid - the decoded value is valid JSON, but userId is null, empty or undefined | 400 | Fails if o3-psu-identifier header is invalid - the decoded value is valid JSON, but userId is null, empty or undefined, with status 400 and correct schema |
Fails if o3-psu-identifier header is invalid - the decoded value is valid JSON, but userId is not a string | 400 | Fails if o3-psu-identifier header is invalid - the decoded value is valid JSON, but userId is not a string, with status 400 and correct schema |
2. Bank Service Test Cases
POST /payments & Get /payments
Scenario | Response | Expected outcome |
---|---|---|
POST /payments Domestic single payment Consumer to Consumer:Successful response from LFI when the request is valid Note: Test cases for different account types like SME, Retail and Corporate have been added. The intention of these tests is to make sure that different users are able to make payments to different types of creditors as applicable. | 201 |
|
Get payments Inquire a 'Pending' Single Immediate domestic payment Note: When conducting the tests as described above, the main goal is to verify that all payments in different statuses can be accessed with the accurate schema and data structure. | 200 with payment details in the response | Returns a 200 with status 'Pending' |
Get /payments Inquire a 'Rejected' Single Immediate Domesticpayment Note: As a pre-requisite need to post a payment which triggers business rules to get rejected and inquire that in Get endpoint | 200 | Returns a 200 with status 'Rejected' and with reason object populated with details |
Negative Test - Fail if | 400 | Error response |
Negative Test - Fail if | 400 | Error response |
Negative Test - Fail if | 400 | Error response |
Negative Test - Fail if | 400 | Error response |
POST /payments Domestic Future Dated payment:Successful response when the request is valid Note: the tests are repeated for different users like SME, Corporate and Retail | 201 |
|
Get /payments/{paymentId} Inquire a 'Pending' Future dated payment Note: When conducting the tests as described above, the main goal is to verify that all payments in different statuses can be accessed with the accurate schema and data structure. | 200 with payment details in the response | Returns a 200 with status 'Pending' |
The below status’s might not be feasible to validate , but GET /payment should supports these different status’s Inquire a 'AcceptedSettlementInProcess' Single Immediate Domestic payment | 200 | Returns a 200 with status 'AcceptedSettlementInProcess' |
Inquire a 'AcceptedSettlementCompleted' Single Immediate Domestic payment | 200 | Returns a 200 with status 'AcceptedSettlementCompleted' |
Inquire a 'AcceptedWithoutPosting' Single Immediate Domestic payment | 200 | Returns a 200 with status 'AcceptedWithoutPosting' |
Inquire a 'AcceptedWithoutPosting' Single Immediate Domestic payment | 200 | Returns a 200 with status 'AcceptedWithoutPosting' and data initially used to post the payment |
GET payments/{report-file}
Scenario | Response | Expected outcome |
---|---|---|
Succeeds if valid paymentId in path parameter returns file name | 200 | Return a 200 status with correct schema and file name in response |
Invalid paymentId in path parameter | 400 | Invalid paymentId provided in the path parameter should return a 400 status code and correct schema |
Fail if paymentId in path parameter is missing | 400 | The paymentId in the path parameter is missing, should return a 400 status code and correct schema |
3. Insurance Test Cases
<TODO>
...