Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions functional_tests/ZBIO-5139.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
Feature: Testing Bank's Credit Card Services API

Scenario: Testing Credit Card Application
Given the API endpoint '/apply-credit-card'
When I send a POST request to '/apply-credit-card' with payload:
| identification | incomeDetails | contactInformation |
| valid_id | valid_income | valid_contact_info |
Then the response status should be 200
And the response body should contain 'Application successfully submitted'
But When I send a POST request with invalid or incomplete data
Then the response status should be 400
And the response body should contain 'Appropriate error message displayed'

Scenario: Testing Confirmation After Application
Given the API endpoint '/get-application-confirmation'
When I send a GET request to '/get-application-confirmation'
Then the response status should be 200
And the response body should contain 'Application submitted successfully.'

Scenario: Testing Waiving Off Charges
Given the API endpoint '/report-fee'
When I send a POST request to '/report-fee' with payload 'unexpected fee details'
Then the response status should be 200
And the response body should contain 'Fee report successfully submitted'
But When I send a POST request with a duplicate fee report
Then the response status should be 409
And the response body should contain 'Duplicate fee report error'

Scenario: Testing Redeeming Points
Given the API endpoint '/redeem-rewards'
When I send a POST request to '/redeem-rewards' with payload 'reward details'
Then the response status should be 200
And the response body should contain 'Reward successfully redeemed'
But when points are insufficient for reward
Then the response status should be 400
And the response body should contain 'Insufficient points error message'

Scenario: Testing Credit Limit Extension
Given the API endpoint '/increase-limit'
When the bank sends a POST request to '/increase-limit' with payload 'new limit details'
Then the customer should receive notification of credit limit increase

Scenario: Testing Credit Limit Reduction
Given the API endpoint '/decrease-limit'
When the bank sends a POST request to '/decrease-limit' with payload 'new limit details'
Then the customer should receive notification of credit limit decrease

Scenario: Testing Promotional Balance Transfers
Given the API endpoint '/balance-transfer'
When I send a POST request to '/balance-transfer' with payload 'balance transfer details'
Then the response status should be 200
And the response body should contain 'Balance transfer successful'
68 changes: 68 additions & 0 deletions functional_tests/ZBIO-5139.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
FUNCTIONAL TEST CASE:
Functional Test Cases:

1. Credit Card Application:
- A customer should be able to access the credit card application online or at a bank branch.
Input: Enter valid identification, income details, and contact information
Expected Output: The application is successfully submitted.
Edge Case: When invalid or incomplete information is entered, an appropriate error message is displayed.

- Verify that the customer receives a confirmation message after successfully submitting the application.
Input: A completed credit card application.
Expected Output: Confirmation message is presented to the customer.

2. Waiving Off Charges:
- The customer should be able to report an unexpected fee via their online account or over the phone.
Input: Customer reports an unexpected fee.
Expected Output: Fee report is successfully submitted.
Edge Case: If customer attempts to submit a duplicate fee report, an appropriate error message should occur.

- Verify the bank is able to review the customer's history and consider waiving off the charges.
Input: Bank reviews customer history.
Expected Output: Decision to waive off charges is made based on review.

3. Redeeming Points:
- The customer should be able to redeem their reward points for various benefits.
Input: Customer selects reward of choice to redeem.
Expected Output: Reward is successfully redeemed.
Edge Case: If points are insufficient for reward, an error message is displayed.

4. Credit Limit Extension:
- The customer receives a notification once their credit limit has been increased.
Input: Bank decides to increase customer's credit limit.
Expected Output: Customer receives notification of credit limit increase.

5. Credit Limit Reduction:
- The customer receives a notification once their credit limit has been decreased.
Input: Bank decides to decrease customer's credit limit.
Expected Output: Customer receives notification of credit limit decrease.

6. Promotional Balance Transfers:
- The customer should be able to transfer high-interest balances from other credit cards.
Input: Customer initiates a balance transfer.
Expected Output: Balance transfer is successful.


NON-FUNCTIONAL TEST CASE:
Non-Functional Test cases:

1. Usability:
- The credit card application form should be user-friendly with clear instructions.

2. Performance:
- The customer's online account should load within an acceptable timeframe.

3. Security:
- The customer's sensitive information should be encrypted and secure from unauthorized access.

4. Compatibility:
- The online banking portal should be compatible across different browsers and mobile devices.

5. Availability:
- The online banking portal should be available 24/7 for customers.

6. Scalability:
- The system should be able to handle an increase in the number of credit card applications or customer accounts.

7. Fault tolerance:
- The system should provide an error message and guide the user to recover and continue instead of crash abruptly when incorrect inputs are made.
100 changes: 100 additions & 0 deletions functional_tests/ZBIO-5139.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
openapi: 3.0.0
info:
title: Credit Card Services API
version: 1.0.0
paths:
/apply-credit-card:
post:
summary: Apply for a credit card
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
identification:
type: string
incomeDetails:
type: string
contactInformation:
type: string
required:
- identification
- incomeDetails
- contactInformation
responses:
'200':
description: Application successfully submitted
'400':
description: Appropriate error message displayed

/get-application-confirmation:
get:
summary: Confirm application
responses:
'200':
description: Application submitted successfully

/report-fee:
post:
summary: Report unexpected fee
requestBody:
required: true
content:
application/json:
schema:
type: string
responses:
'200':
description: Fee report successfully submitted
'409':
description: Duplicate fee report error

/redeem-rewards:
post:
summary: Redeem rewards
requestBody:
required: true
content:
application/json:
schema:
type: string
responses:
'200':
description: Reward successfully redeemed
'400':
description: Insufficient points error message

/increase-limit:
post:
summary: Request for credit limit increase
requestBody:
required: true
content:
application/json:
schema:
type: string

/decrease-limit:
post:
summary: Request for credit limit decrease
requestBody:
required: true
content:
application/json:
schema:
type: string

/balance-transfer:
post:
summary: Request for balance transfer
requestBody:
required: true
content:
application/json:
schema:
type: string
responses:
'200':
description: Balance transfer successful