Versions Compared

Key

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

...

titleMENU
Table of Contents
stylenone

The following test cases have been implemented in the Testing Tool:

...

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

...

POST /customers/action/cop-query

Fail if o3-provider-id header is missing

400

Fail if o3-provider-id

Scenario

Response

Expected outcome

Fail if o3-psu-identifier header is missing

400 

Fail if o3-psu-identifier 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

A valid request with schemeName as IBAN for retail user

200

Returns a 200 status code when all headers are valid and provides the associated customer details linked to the IBAN provided in the request for Retail user

A valid request with schemeName as IBAN for business user

200

Returns a 200 status code when all headers are valid and provides the associated customer details linked to the IBAN provided in the request for Business user

Negative Test - A request with invalid IBAN for a Retail user

200

Returns a 200 with empty data object

An invalid request with missing fields for retail user

400

Returns 400 error response

An invalid request with missing fields for business user

400

Returns 400 error response

A valid request with schemeName as IBAN for a Retail user and o3-psu-identifier and o3-consent-id are not provided as these fields are not mandatory

200

Returns a 200 status code when all headers are valid and o3-psu-identifier and o3-consent-id headers are not provided in the request

Common header validations for AIS and PIS endpoints:

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

Scenario

Response

Expected outcome

Fail if o3-psu-identifier header is missing

400 

Fail if o3-psu-identifier header is missing with status 400 and correct schema

Fail if o3-callerapi-org-id uri header is missing

400

Fail if o3-callerapi-org-id uri header is missing with status 400 and correct schema

Fail if o3-callerapi-client-id operation header is missing

400

Fail if o3-callerapi-client-id operation header is missing with status 400 and correct schema

Fail if o3-calleraspsp-software-statement-id header is missing

400

Fail if o3-calleraspsp-software-statement-id header is missing with status 400 and correct schema

Fail if o3-consentozone-interaction-id header is missing

400

Fail if o3-ozone-consentinteraction-id header is missing with status 400 and correct schema

Fail if o3-consentprovider-id header is having invalid valuemissing

400

Fail if o3-consentprovider-id header is having invalid value missing with status 400 and correct schema

Fail if o3-caller-softwareorg-statement-id header is having invalid valuemissing

400

Fail if o3-caller-softwareorg-statement-id header is having invalid value missing with status 400 and correct schema

Fail if o3-caller-client-id header is having invalid valuemissing

400

Fail if o3-caller-client-id header is having invalid value with missing with status 400 and correct schema

Fail if o3-caller-orgsoftware-statement-id header is having invalid valuemissing

400

Fail if o3-caller-orgsoftware-statement-id header is having invalid value missing with status 400 and correct schema

Fail if o3-providerconsent-id header is having invalid valuemissing

400

Fail if o3-providerconsent-id header is having invalid value missing with status 400 and correct schema

Fail if o3-ozone-interactionconsent-id header is having invalid value

400

Fail if o3-ozoneconsent-interaction-id header is having invalid value with status 400 and correct schema

Fail if o3-aspspcaller-software-statement-id header is having invalid value

400

Fail if o3-aspspcaller-software-statement-id header is having invalid value with status 400 and correct schema

Fail if o3-caller-apiclient-operation id header is having invalid value

400

Fail if o3-apicaller-client-operation id header is having invalid value with status 400 and correct schema

Fail if o3-caller-apiorg-uri id header is having invalid value

400

Fail if o3-apicaller-org-uri id header is having invalid value with status 400 and correct schema

Fail if o3-psuprovider-identifier id header is having invalid value

400

Fail if o3-psuprovider-identifier id header is having invalid value with status 400 and correct schemaFails

Fail if o3-ozone-psuinteraction-identifier is not b64 encodedid header is having invalid value

400

Fails Fail if o3-ozone-psuinteraction-identifier is not b64 encoded id header is having invalid value with status 400 and correct schemaFails

Fail if o3-psu-identifier does not evaluate to a json structureaspsp-id header is having invalid value

400Fails

Fail if o3-psu-identifier does not evaluate to a json structure, aspsp-id header is having invalid value with status 400 and correct schemaFails

Fail if o3-psu-identifier does not contain userIdapi-operation header is having invalid value

400

Fails Fail if o3-psu-identifier does not contain userId, api-operation header is having invalid value with status 400 and correct schema

Fails Fail if o3-psuapi-identifier uri header is having invalid - the decoded value is valid JSON, but userId is null, empty or undefined

400

Fails Fail if o3-psuapi-identifier uri header is having invalid - the decoded value is valid JSON, but userId is null, empty or undefined, with status 400 and correct schemaFails

Fail if o3-psu-identifier header is having invalid - the decoded value is valid JSON, but userId is not a string

400

Fails Fail if o3-psu-identifier header is having 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

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

Single 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

Negative Test - Fail if payment amount is above the available balance

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

Multi Payments

The below endpoints support multi-payment functionality and tests are added across these endpoints to facilitate different variations of multi-payments

POST consent/action/augment

POST consent/action/validate

POST /consent/event/{operation}

POST /payments

GET /payments/{paymentId}

Scenario

Response

Expected outcome

FixedDefinedSchedule

201

Successful payment for a consent set-up for FixedDefinedSchedule

VariableDefinedSchedule

201

Successful payment for a consent set-up for VariableDefinedSchedule

FixedPeriodicSchedule

201

Successful payment for a consent set-up for FixedPeriodicSchedule

VariablePeriodicSchedule

201

Successful payment for a consent set-up for VariablePeriodicSchedule

FixedOnDemand

201

Successful payment for a consent set-up for FixedOnDemand

VariableOnDemand

201

Successful payment for a consent set-up for VariableOnDemand

Combined Payments

The below endpoints support combined-payment functionality and tests are added across these endpoints to facilitate different variations of combined payments

POST consent/action/augment

POST consent/action/validate

POST /consent/event/{operation}

POST /payments

GET /payments/{paymentId}

Scenario

Response

Expected outcome

Single Immediate Payment (SIP) + FixedDefinedSchedule

201

Successful payment as part of the consent set-up for a combined payment

SIP + VariableDefinedSchedule

201

Successful payment as part of the consent set-up for a combined payment

SIP + FixedPeriodicSchedule

201

Successful payment as part of the consent set-up for a combined payment

SIP + VariablePeriodicSchedule

201

Successful payment as part of the consent set-up for a combined payment

SIP + FixedOnDemand

201

Successful payment as part of the consent set-up for a combined payment

SIP + VariableOnDemand

201

Successful payment as part of the consent set-up for a combined payment

Future Dated Payment (FDP) + FixedDefinedSchedule

201

Successful payment as part of the consent set-up for a combined payment

FDP + VariableDefinedSchedule

201

Successful payment as part of the consent set-up for a combined payment

FDP + FixedPeriodicSchedule

201

Successful payment as part of the consent set-up for a combined payment

FDP + VariablePeriodicSchedule

201

Successful payment as part of the consent set-up for a combined payment

FDP + FixedOnDemand

201

Successful payment as part of the consent set-up for a combined payment

FDP + VariableOnDemand

201

Successful payment as part of the consent set-up for a combined payment

GET payments/{report-file}

...