From a4f5310dfa08032f9ca7891d2dd1447a729270de Mon Sep 17 00:00:00 2001 From: ZB-io Date: Wed, 20 Mar 2024 15:17:43 +0000 Subject: [PATCH] Functional test generated by RoostGPT Using AI Model roostgpt-4-32k --- functional_tests/ZBIO-5138.feature | 74 +++++++++++++++++ functional_tests/ZBIO-5138.txt | 49 +++++++++++ functional_tests/ZBIO-5138.yaml | 125 +++++++++++++++++++++++++++++ 3 files changed, 248 insertions(+) create mode 100644 functional_tests/ZBIO-5138.feature create mode 100644 functional_tests/ZBIO-5138.txt create mode 100644 functional_tests/ZBIO-5138.yaml diff --git a/functional_tests/ZBIO-5138.feature b/functional_tests/ZBIO-5138.feature new file mode 100644 index 00000000..420219c3 --- /dev/null +++ b/functional_tests/ZBIO-5138.feature @@ -0,0 +1,74 @@ +Feature: Credit Card Notification System Testing + Background: + Given the base URL 'http://localhost:8080/api' + + Scenario: Credit Card Due Reminder + Given the saved credit card due date is '01/12/2022' + When I send a GET request to '/dueReminder' + Then the response status code should be 200 + And the response should contain a scheduled reminder for '30/11/2022' + + Scenario: Overdue Balance Alert + Given the system shows the card payment as not done and today's date is '02/12/2022' + When I send a GET request to '/overdueAlert' + Then the response status code should be 200 + And the response should contain an alert for the date '02/12/2022' + + Scenario: Collection Notification + Given the system identifies an account with more than 60 days past due + When I send a GET request to '/collectionNotification' + Then the response status code should be 200 + And the response should contain overdue balance, late fine and necessary actions details + + Scenario: Payment Plan Proposal + Given the cardholder contacts the bank unable to pay full overdue balance + When I send a POST request to '/paymentPlan' with the payment proposal + Then the response status code should be 201 + And the response should contain a section 'payment plan proposal' + + Scenario: Collection Agency Involvement + Given the system detects cardholder's three failed attempts to respond to notifications and reminders of overdue balance + When I send a GET request to '/agencyInvolvement' + Then the response status code should be 200 + And the response should contain 'Involve a collection agency' + + Scenario: Legal Action Initiation + Given the system detects chronic non-payment behavior from the cardholder + When I send a GET request to '/legalActionInitiation' + Then the response status code should be 200 + And the response should contain 'Initiate stringent legal actions' + + Scenario: Performance Testing + Given the application is under test + When I bombard the API endpoint with multiple simultaneous requests + Then the application should respond within acceptable time limits + + Scenario: Usability Testing + Given the application interface is rendered + When a user navigates the application + Then the application should be navigable and intuitive + + Scenario: Security Testing + Given the sensitive user data + When the data is transmitted over the network + Then the data should be encrypted and secure + + Scenario: Compatibility Testing + Given the application + When accessed from different devices + Then the application should be compatible and responsive + + Scenario: Reliability Testing + Given the running application + When operating for a certain period of time + Then the application should demonstrate reliability and stability + + Scenario: Recovery Testing + Given the application + When a crash or hardware failure occurs + Then the application should recover and retain data integrity + + Scenario: API Testing + Given the APIs provided by the application + When I send requests to the APIs + Then the API responses should be fast, reliable, secure, and accurate diff --git a/functional_tests/ZBIO-5138.txt b/functional_tests/ZBIO-5138.txt new file mode 100644 index 00000000..914216af --- /dev/null +++ b/functional_tests/ZBIO-5138.txt @@ -0,0 +1,49 @@ +**Functional Test Cases** + +1. **Credit Card Due Reminder** + - Input: The system has saved credit card due date as 01/12/2022 + - Expected Output: Reminder should be sent to cardholder on 30/11/2022 (a day before due date) + +2. **Overdue Balance Alert** + - Input: The system shows the card payment not done and today's date is 02/12/2022 (1 day past due) + - Expected Output: System should send an alert stating overdue balance on 02/12/2022 + +3. **Collection Notification** + - Input: System identifies an account with more than 60 days past due + - Expected Output: System should send a collection notification to the respective cardholder reveals overdue balance, late fine and necessary actions + +4. **Payment Plan Proposal** + - Input: Cardholder gets in touch with the bank unable to pay full overdue balance + - Expected Output: Propose a payment plan immediately with manageable terms such as feasible monthly installments, lowered interest, and no late fine + +5. **Collection Agency Involvement** + - Input: System detects cardholder's three failed attempts to respond to notifications and reminders of overdue balance + - Expected Output: System triggers process to involve a collection agency + +6. **Legal Action Initiation** + - Input: System detects chronic non-payment behavior from the cardholder + - Expected Output: Initiate stringent legal actions to recover the overdue balance + + +**Non-Functional Test Cases** + +1. **Performance Testing** + - Ensure the application's performance under load, the application should be able to handle large number of users at a time. + +2. **Usability Testing** + - Ensure the application is user-friendly, intuitive and easy to navigate. The notification messages should be easy to understand. + +3. **Security Testing** + - Validate the security features of the application, ensure it complies with all major security standards. Ensure secure transmission of sensitive user data during interaction. + +4. **Compatibility Testing** + - The application should be compatible and responsive to different devices – desktops, tablets and mobiles. + +5. **Reliability Testing** + - Ensure the application can perform under provided conditions for a certain period of time. + +6. **Recovery Testing** + - The application should be able to recover from potential crashes or hardware failures and retain data integrity. + +7. **API Testing** + - API responses should be fast, reliable and secure. Ensure all provided API links are working as expected. \ No newline at end of file diff --git a/functional_tests/ZBIO-5138.yaml b/functional_tests/ZBIO-5138.yaml new file mode 100644 index 00000000..c581e194 --- /dev/null +++ b/functional_tests/ZBIO-5138.yaml @@ -0,0 +1,125 @@ +openapi: 3.0.3 +info: + title: Credit Card Notification System + version: 1.0.0 +servers: + - url: http://localhost:8080/api +paths: + /dueReminder: + get: + summary: Get credit card due reminder + responses: + '200': + description: Success, scheduled reminder is returned. + content: + text/plain: + schema: + type: string + example: '30/11/2022' + /overdueAlert: + get: + summary: Check for any overdue alert + responses: + '200': + description: Success, overdue alert is returned. + content: + text/plain: + schema: + type: string + example: '02/12/2022' + /collectionNotification: + get: + summary: Get collection notifications + responses: + '200': + description: Success, details of overdue balance and necessary actions are returned + content: + application/json: + schema: + type: object + properties: + overdueBalance: + type: number + lateFine: + type: number + necessaryActions: + type: string + /paymentPlan: + post: + summary: Send a payment plan proposal + requestBody: + content: + application/json: + schema: + type: object + properties: + proposal: + type: string + responses: + '201': + description: Success, payment plan proposal received. + content: + text/plain: + schema: + type: string + example: 'payment plan proposal' + /agencyInvolvement: + get: + summary: Get status of collection agency involvement + responses: + '200': + description: Success, status of collection agency involvement is returned. + content: + text/plain: + schema: + type: string + example: 'Involve a collection agency' + /legalActionInitiation: + get: + summary: Get status of legal actions + responses: + '200': + description: Success, status of legal actions is returned. + content: + text/plain: + schema: + type: string + example: 'Initiate stringent legal actions' +components: + schemas: + dueReminder: + type: object + properties: + dueDate: + type: string + format: date + overdueAlert: + type: object + properties: + overdueDate: + type: string + format: date + collectionNotification: + type: object + properties: + overdueBalance: + type: integer + lateFine: + type: integer + necessaryActions: + type: string + paymentPlan: + type: object + properties: + proposal: + type: string + agencyInvolvement: + type: object + properties: + status: + type: string + legalActionInitiation: + type: object + properties: + status: + type: string