From 8f92be045795dfea5600567669bd60a6fa8d606d Mon Sep 17 00:00:00 2001 From: roost-io Date: Sun, 11 Jan 2026 05:26:10 +0000 Subject: [PATCH] Functional test generated by RoostGPT Using AI Model gpt-4o --- functional_tests/README.md | 23 +++ .../.roost/roost_metadata.json | 34 ++++ .../TCSBaNCS_functional-after-fix.csv | 15 ++ .../TCSBaNCS_functional-after-fix.docx | Bin 0 -> 11929 bytes .../TCSBaNCS_functional-after-fix.feature | 187 ++++++++++++++++++ .../TCSBaNCS_functional-after-fix.json | 1 + .../TCSBaNCS_functional-after-fix.xlsx | Bin 0 -> 9752 bytes 7 files changed, 260 insertions(+) create mode 100644 functional_tests/README.md create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx diff --git a/functional_tests/README.md b/functional_tests/README.md new file mode 100644 index 00000000..0565fad5 --- /dev/null +++ b/functional_tests/README.md @@ -0,0 +1,23 @@ +# Roost Generated Functional Test + +**Execution Date:** 1/11/2026, 5:26:09 AM + +**Test Unique Identifier:** "TCSBaNCS_functional-after-fix" + +**Input(s):** + 1. bankspromot.txt + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/bankspromot.txt + 2. TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx + 3. TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx + +**Test Output Folder:** + 1. [TCSBaNCS_functional-after-fix.json](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json) + 2. [TCSBaNCS_functional-after-fix.feature](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature) + 3. [TCSBaNCS_functional-after-fix.csv](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv) + 4. [TCSBaNCS_functional-after-fix.xlsx](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx) + 5. [TCSBaNCS_functional-after-fix.docx](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx) + +--- + diff --git a/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json b/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json new file mode 100644 index 00000000..135677a1 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json @@ -0,0 +1,34 @@ +{ + "project": { + "name": "TCSBaNCS_functional-after-fix", + "created_at": "2026-01-11T05:26:09.579Z", + "updated_at": "2026-01-11T05:26:09.579Z" + }, + "files": { + "input_files": [ + { + "fileName": "TCSBaNCS_functional-after-fix.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.txt", + "fileSha": "cf83e1357e" + }, + { + "fileName": "bankspromot.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/functional_tests/TCSBaNCS_functional-after-fix/bankspromot.txt", + "fileSha": "0664b099ba" + }, + { + "fileName": "TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx", + "fileSha": "55a242034e" + }, + { + "fileName": "TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/d94d3fae-92b7-433a-a9d4-a73f4d7c92f8/functional_tests/TCSBaNCS_functional-after-fix/TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx", + "fileSha": "2cd5271236" + } + ] + }, + "api_files": { + "input_files": [] + } +} \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv new file mode 100644 index 00000000..f1ba54b3 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv @@ -0,0 +1,15 @@ +User Registration with Valid Details +Product Search and Filtering +Shopping Cart Management +Checkout Process +Order Confirmation and Notification +User Profile Management +Role-based Access Control +Data Validation and Error Handling +UI Interactions Across All Screens +Multi-Device Order Placement +Integration with External Systems +Payment Gateway Error Handling +Order Status Transition +Sensitive Data Masking +Inventory Update Synchronization \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx new file mode 100644 index 0000000000000000000000000000000000000000..1b3e75d9edb7ca9b6804a511dfe6ec6897f02c15 GIT binary patch literal 11929 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 literal 0 HcmV?d00001 diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature new file mode 100644 index 00000000..34529182 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature @@ -0,0 +1,187 @@ +Feature: E-commerce Platform Functional Testing + + # UI Test Scenarios + @ui + Scenario Outline: User Registration with Valid Details + Given I am on the registration page + When I enter valid user details including "", "", and "" + And I click the "Register" button + Then a user account is created successfully + And a confirmation email is sent + + Examples: + | name | email | password | + | John | john@example.com| Pass1234 | + | Alice | alice@example.com| Pass5678 | + + @ui + Scenario Outline: Product Search and Filtering + Given I am on the search page + When I enter "" in the search bar + And I apply filters such as price range "" and category "" + And I click the "Search" button + Then relevant products are displayed according to the search criteria and filters + + Examples: + | keyword | price_range | category | + | Laptop | 500-1000 | Electronics | + | Shoes | 50-100 | Fashion | + + @ui + Scenario Outline: Shopping Cart Management + Given I am logged in + When I search and select a product "" + And I click "Add to Cart" + And I navigate to the cart + And I remove "" from the cart + Then the product is added and removed from the cart successfully + + Examples: + | product | + | Laptop | + | Headphones | + + @ui + Scenario Outline: Checkout Process + Given I have items in the cart + When I click "Checkout" + And I enter shipping details "
", "", "" + And I select a payment method "" + And I complete the payment + Then the order is placed successfully and payment is processed + + Examples: + | address | city | zip | payment_method | + | 123 Main St | New York | 10001 | Credit Card | + | 456 Elm St | Chicago | 60601 | PayPal | + + @ui + Scenario Outline: Order Confirmation and Notification + Given I have successfully placed an order + When I check my email inbox + Then I receive an order confirmation email with order details + + Examples: + | email | + | john@example.com| + | alice@example.com| + + @ui + Scenario Outline: User Profile Management + Given I am logged in and on the user profile page + When I edit profile details such as "", "
", and "" + And I click the "Save" button + Then profile information is updated successfully and changes are reflected immediately + + Examples: + | name | address | contact_number | + | John | 123 Main St | 1234567890 | + | Alice | 456 Elm St | 0987654321 | + + @ui + Scenario Outline: Role-based Access Control + Given users with different roles exist in the system + When I log in as "" user + And I attempt to access "" + Then "" access is granted + + Examples: + | role | feature | accessibility | + | admin | admin dashboard | granted | + | user | admin dashboard | restricted | + + @ui + Scenario Outline: Data Validation and Error Handling + Given I am logged in and on a form requiring data input + When I enter invalid data "" + And I submit the form + Then appropriate error messages are displayed + + Examples: + | invalid_data | + | invalid-email.com| + | 123 | + + @ui + Scenario Outline: UI Interactions Across All Screens + Given I access the application on "" + When I perform common actions like navigation and form submissions + Then UI elements are consistent and functional + + Examples: + | device | + | desktop | + | mobile | + | tablet | + + @ui + Scenario Outline: Multi-Device Order Placement + Given I access the application on "" + When I add items to the cart and proceed to checkout + And I complete the order + Then order placement is successful across all devices with consistent user experience + + Examples: + | device | + | desktop | + | mobile | + | tablet | + + # API Test Scenarios + @api + Scenario Outline: Integration with External Systems + Given the external inventory system is operational + When I navigate to a product page + Then the displayed inventory level matches the external system's inventory data + + Examples: + | product_id | + | 101 | + | 202 | + + @api + Scenario Outline: Payment Gateway Error Handling + Given I have items in the cart and a payment method selected + When I simulate a payment gateway error "" + And I attempt to complete the payment + Then I receive a clear error message and am prompted to retry or select a different payment method + + Examples: + | error_type | + | network failure | + | invalid card | + + @api + Scenario Outline: Order Status Transition + Given an order is placed and initially in pending status + When I confirm the order + And I ship the order + Then order status transitions correctly at each step with appropriate notifications + + Examples: + | order_id | + | 1001 | + | 1002 | + + @api + Scenario Outline: Sensitive Data Masking + Given I perform actions that involve sensitive data entry + When I submit the form + Then sensitive data is masked in logs and partially displayed in UI + + Examples: + | action | + | enter card info| + | enter password | + + @api + Scenario Outline: Inventory Update Synchronization + Given integration with external inventory management system is active + When I update inventory levels in the external system + And I navigate to the product page in the application + Then the displayed inventory matches the updated levels + + Examples: + | product_id | + | 303 | + | 404 | diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json new file mode 100644 index 00000000..e1798816 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json @@ -0,0 +1 @@ +[{"type":"functional","title":"User Registration","description":"Verify user registration with valid details.","testId":"TC-001","testDescription":"A new user registers with valid information to create an account.","prerequisites":"User must not have an existing account with the same email.","stepsToPerform":"1. Navigate to the registration page.\n2. Enter valid user details including name, email, and password.\n3. Click 'Register' button.","expectedResult":"User account is created successfully and a confirmation email is sent.","additionalFields":"PII data must be masked in logs, Email format validation"},{"type":"functional","title":"Product Search and Filtering","description":"Verify product search and filtering functionality.","testId":"TC-002","testDescription":"A user searches for a product and applies filters to narrow down results.","prerequisites":"Products must be available in the database.","stepsToPerform":"1. Navigate to the search bar.\n2. Enter a product keyword.\n3. Apply filters such as price range and category.\n4. Click 'Search' button.","expectedResult":"Relevant products are displayed according to the search criteria and filters.","additionalFields":"Boundary Value Analysis for price filters, UI responsiveness check"},{"type":"functional","title":"Shopping Cart Management","description":"Verify adding and removing items from the shopping cart.","testId":"TC-003","testDescription":"A user adds products to the cart and removes them as needed.","prerequisites":"User must be logged in.","stepsToPerform":"1. Search and select a product.\n2. Click 'Add to Cart'.\n3. Navigate to the cart.\n4. Remove a product from the cart.","expectedResult":"Products are added and removed from the cart successfully.","additionalFields":"Data integrity check for cart updates, UI interaction validation"},{"type":"functional","title":"Checkout Process","description":"Verify the checkout process including payment gateway integration.","testId":"TC-004","testDescription":"A user completes the checkout process using a valid payment method.","prerequisites":"User must have items in the cart and a valid payment method.","stepsToPerform":"1. Navigate to the cart.\n2. Click 'Checkout'.\n3. Enter shipping details.\n4. Select a payment method.\n5. Complete the payment.","expectedResult":"Order is placed successfully and payment is processed.","additionalFields":"Error handling for payment failures, Data validation for shipping details"},{"type":"functional","title":"Order Confirmation and Notification","description":"Verify order confirmation and notification email.","testId":"TC-005","testDescription":"A user receives an order confirmation and notification email after successful checkout.","prerequisites":"Order must be successfully placed.","stepsToPerform":"1. Complete the checkout process.\n2. Check the email inbox for confirmation.","expectedResult":"User receives an order confirmation email with order details.","additionalFields":"Email content validation, State Transition testing for order status"},{"type":"functional","title":"User Profile Management","description":"Verify updating user profile information.","testId":"TC-006","testDescription":"A user updates their profile information such as name, address, and contact number.","prerequisites":"User must be logged in and have an existing profile.","stepsToPerform":"1. Navigate to the user profile page.\n2. Edit profile details such as name, address, and contact number.\n3. Click 'Save' button.","expectedResult":"Profile information is updated successfully and changes are reflected immediately.","additionalFields":"Data integrity checks for updated information, PII data must be masked in logs"},{"type":"functional","title":"Role-based Access Control","description":"Verify access control based on user roles.","testId":"TC-007","testDescription":"Different user roles have access to specific features and functionalities.","prerequisites":"Users with different roles must exist in the system.","stepsToPerform":"1. Log in as an admin user.\n2. Access admin-specific features.\n3. Log out and log in as a regular user.\n4. Attempt to access admin features.","expectedResult":"Admin features are accessible only by admin users, regular users are restricted.","additionalFields":"Decision Table testing for role-based access, UI elements visibility based on roles"},{"type":"functional","title":"Data Validation and Error Handling","description":"Verify error handling for invalid data submission.","testId":"TC-008","testDescription":"The system handles errors gracefully when invalid data is submitted in forms.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate to any form requiring data input.\n2. Enter invalid data (e.g., incorrect email format).\n3. Submit the form.","expectedResult":"Appropriate error messages are displayed, and the user is prompted to correct the data.","additionalFields":"Error message content validation, UI responsiveness to error prompts"},{"type":"functional","title":"Integration with External Systems","description":"Verify integration with external inventory management system.","testId":"TC-009","testDescription":"The system accurately reflects inventory levels from an external management system.","prerequisites":"External inventory system must be operational and integrated.","stepsToPerform":"1. Navigate to a product page.\n2. Check the displayed inventory level.\n3. Verify against the external system's inventory data.","expectedResult":"Displayed inventory levels match the data from the external system.","additionalFields":"Data synchronization checks, Error handling for integration failures"},{"type":"functional","title":"UI Interactions Across All Screens","description":"Verify consistent UI interactions across different devices and browsers.","testId":"TC-010","testDescription":"The user interface behaves consistently across various devices and browsers.","prerequisites":"Access to multiple devices and browsers.","stepsToPerform":"1. Access the application on a desktop browser.\n2. Perform common actions like navigation and form submissions.\n3. Repeat steps on a mobile browser and tablet.","expectedResult":"UI elements are consistent and functional across all tested devices and browsers.","additionalFields":"Cross-browser compatibility checks, Responsive design validation"},{"type":"functional","title":"Payment Gateway Error Handling","description":"Verify system behavior when payment gateway returns an error.","testId":"TC-011","testDescription":"Simulate a payment failure scenario to ensure the system handles it gracefully.","prerequisites":"User must have items in the cart and a payment method selected.","stepsToPerform":"1. Navigate to the checkout page.\n2. Select a payment method.\n3. Simulate a payment gateway error (e.g., network failure).\n4. Attempt to complete the payment.","expectedResult":"User receives a clear error message and is prompted to retry or select a different payment method.","additionalFields":"Error message content validation, Retry mechanism verification"},{"type":"functional","title":"Order Status Transition","description":"Verify correct state transitions for order statuses.","testId":"TC-012","testDescription":"Ensure order status transitions correctly from pending to confirmed to shipped.","prerequisites":"Order must be placed and initially in pending status.","stepsToPerform":"1. Place an order and verify initial status is pending.\n2. Confirm the order and check status changes to confirmed.\n3. Ship the order and verify status changes to shipped.","expectedResult":"Order status transitions correctly at each step with appropriate notifications.","additionalFields":"State Transition testing, Notification content validation"},{"type":"functional","title":"Sensitive Data Masking","description":"Verify masking of sensitive PII data in logs and UI.","testId":"TC-013","testDescription":"Ensure sensitive information like credit card numbers and passwords are masked.","prerequisites":"User must perform actions that involve sensitive data entry.","stepsToPerform":"1. Navigate to a payment page.\n2. Enter credit card details.\n3. Submit the form and check logs.\n4. Verify UI does not display full sensitive data.","expectedResult":"Sensitive data is masked in logs and partially displayed in UI.","additionalFields":"Log inspection for data masking, UI data masking verification"},{"type":"functional","title":"Multi-Device Order Placement","description":"Verify order placement process across different devices.","testId":"TC-014","testDescription":"Ensure the order placement process is seamless on desktop, mobile, and tablet.","prerequisites":"Access to multiple devices with internet connectivity.","stepsToPerform":"1. Access the application on a desktop.\n2. Add items to the cart and proceed to checkout.\n3. Complete the order.\n4. Repeat the process on mobile and tablet.","expectedResult":"Order placement is successful across all devices with consistent user experience.","additionalFields":"Cross-device compatibility checks, Responsive design validation"},{"type":"functional","title":"Inventory Update Synchronization","description":"Verify real-time synchronization of inventory updates.","testId":"TC-015","testDescription":"Ensure inventory updates are reflected in the system immediately after changes.","prerequisites":"Integration with external inventory management system must be active.","stepsToPerform":"1. Update inventory levels in the external system.\n2. Navigate to the product page in the application.\n3. Verify the displayed inventory matches the updated levels.","expectedResult":"Inventory updates are synchronized in real-time with the external system.","additionalFields":"Data synchronization checks, Real-time update verification"}] \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..68c1029f4e62a170e53fad208835c233c2745855 GIT binary patch literal 9752 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 AX8-^I literal 0 HcmV?d00001