Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Missing

Fail if o3-psu-identifier

header 

header is missing

400 

fails with 400

Fail if o3-psu-identifier

is not specified

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

Missing o3-

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

fails with 400

Fail if o3-ozone-interaction-id header is

not specifiedMissing

missing with status 400 and correct schema

Fail if o3-

api

provider-

operation

id header is missing

400

fails with 400

Fail if o3-

api

provider-

operation

id header is

not specified

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

Returns a 200 with correct schema and in the response the payment status is 'Pending', and the paymentId matches the paymentId in the path parameter.

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

Returns a 201 status code with paymentId in the response body for a domestic payment from consumer to consumer

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 paymentType field in the request body is missing

400

Error response

Negative Test - Fail if PersonalIdentifiableInformation field in the request body is missing.

400

Error response

Negative Test - Fail if PaymentPurposeCode field in the request body is missing

400

Error response

Negative Test - Fail if ConsentId field in the request body is missing

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

Returns a 201 status code with paymentId in the response body for a domestic payment when executionDate in the payload is a future date

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>

...