From c6fe2dc4efc0be444456173e3f72be88dc211db6 Mon Sep 17 00:00:00 2001 From: roost-io Date: Fri, 9 Jan 2026 12:12:47 +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 | 14 ++ .../TCSBaNCS_functional-after-fix.docx | Bin 0 -> 11677 bytes .../TCSBaNCS_functional-after-fix.feature | 193 ++++++++++++++++++ .../TCSBaNCS_functional-after-fix.json | 1 + .../TCSBaNCS_functional-after-fix.xlsx | Bin 0 -> 9468 bytes 7 files changed, 265 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..6bda5eba --- /dev/null +++ b/functional_tests/README.md @@ -0,0 +1,23 @@ +# Roost Generated Functional Test + +**Execution Date:** 1/9/2026, 12:12:46 PM + +**Test Unique Identifier:** "TCSBaNCS_functional-after-fix" + +**Input(s):** + 1. bankspromot.txt + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/8294e6a6-1500-4105-b450-871726cdd524/bankspromot.txt + 2. TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/8294e6a6-1500-4105-b450-871726cdd524/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/8294e6a6-1500-4105-b450-871726cdd524/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..5965e6a7 --- /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-09T12:12:46.894Z", + "updated_at": "2026-01-09T12:12:46.894Z" + }, + "files": { + "input_files": [ + { + "fileName": "TCSBaNCS_functional-after-fix.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/8294e6a6-1500-4105-b450-871726cdd524/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/8294e6a6-1500-4105-b450-871726cdd524/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/8294e6a6-1500-4105-b450-871726cdd524/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/8294e6a6-1500-4105-b450-871726cdd524/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..c7423a34 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv @@ -0,0 +1,14 @@ +User Registration and Account Creation +Product Search and Filtering +Shopping Cart Management +Checkout Process and Payment Gateway Integration +Order Confirmation and Notification +User Profile Management +Role-based Access Control +Data Validation and Error Handling +UI Interactions Across All Screens +Guest Checkout Process +Wishlist Management +Order History and Details +Password Recovery +Multi-Currency Support \ 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..a91f560b2596208b14cd67b1ec05dafd468e7716 GIT binary patch literal 11677 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 Um&T(2p#WWg0RhERJpcLs0sq!VH2?qr 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..8e370f83 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature @@ -0,0 +1,193 @@ +Feature: E-commerce Platform Functional Testing + + # UI Test Scenarios + @ui + Scenario Outline: User Registration and Account Creation + Given I am on the registration page + When I enter valid user details including name "", email "", and password "" + And I agree to terms and conditions + And I click the 'Register' button + Then I should receive a confirmation email + And the account should be created successfully + + Examples: + | name | email | password | + | John | john@example.com | Pass123! | + | Alice | alice@example.com| Pass456! | + + @ui + Scenario Outline: Product Search and Filtering + Given I am on the homepage + When I enter "" in the search bar + And I apply filters such as price range "", category "", and brand "" + And I click the 'Search' button + Then relevant products should be displayed according to the search criteria and filters applied + + Examples: + | product_name | price_range | category | brand | + | Laptop | 500-1000 | Electronics | Dell | + | Shoes | 50-100 | Fashion | Nike | + + @ui + Scenario Outline: Shopping Cart Management + Given I am logged in + And I have added a product "" to the cart + When I update the quantity of the product to "" + And I remove a product "" from the cart + Then the cart should be updated with correct item quantities and total price + + Examples: + | product | quantity | product_to_remove | + | Laptop | 2 | Shoes | + | Shoes | 1 | Laptop | + + @ui + Scenario Outline: Checkout Process and Payment Gateway Integration + Given I have items in the cart + When I proceed to checkout + And I enter shipping details "" + And I select a payment method "" + And I complete the payment process + Then payment should be processed successfully + And an order confirmation should be displayed + + Examples: + | shipping_details | payment_method | + | Address1 | Credit Card | + | Address2 | PayPal | + + @ui + Scenario Outline: Order Confirmation and Notification + Given I have completed a purchase + When I check for order confirmation on the website + And I verify receipt of email notification + Then order confirmation should be displayed + And email notification should be received + + Examples: + | purchase_id | + | 12345 | + | 67890 | + + @ui + Scenario Outline: User Profile Management + Given I am logged in and on the profile settings page + When I update profile details including name "", email "", and password "" + And I save changes + Then profile information should be updated successfully + And changes should be reflected in the user account + + Examples: + | name | email | password | + | John | john@example.com | NewPass123! | + | Alice | alice@example.com| NewPass456! | + + @ui + Scenario Outline: Role-based Access Control + Given I am logged in with a user account assigned a specific role "" + When I attempt to access various sections of the application + Then I should be able to access permitted areas + And I should be restricted from unauthorized sections + + Examples: + | role | + | Admin | + | Customer | + + @ui + Scenario Outline: Data Validation and Error Handling + Given I am logged in + When I navigate to different forms and enter invalid data "" + And I submit the form + Then the system should display appropriate error messages + And prevent form submission + + Examples: + | invalid_data | + | invalid_email@format | + | negative_price | + + @ui + Scenario Outline: UI Interactions Across All Screens + Given I am logged in + When I navigate through different pages and interact with UI elements + And I resize the browser window + Then UI elements should function correctly + And the layout should be responsive across different screen sizes + + Examples: + | page | + | home | + | product | + | checkout | + + @ui + Scenario Outline: Guest Checkout Process + Given I have items in the cart + When I proceed to checkout + And I select 'Checkout as Guest' + And I enter shipping details "" + And I select a payment method "" + And I complete the payment process + Then payment should be processed successfully + And an order confirmation should be displayed + + Examples: + | shipping_details | payment_method | + | Address1 | Credit Card | + | Address2 | PayPal | + + @ui + Scenario Outline: Wishlist Management + Given I am logged in + When I navigate to a product page and add the product "" to the wishlist + And I view the wishlist + And I remove a product "" from the wishlist + Then the wishlist should be updated accordingly with correct items + + Examples: + | product | product_to_remove | + | Laptop | Shoes | + | Shoes | Laptop | + + @ui + Scenario Outline: Order History and Details + Given I am logged in and have completed at least one purchase + When I navigate to the order history page + And I select an order "" to view details + Then order history and details should be displayed accurately + + Examples: + | order_id | + | 12345 | + | 67890 | + + @ui + Scenario Outline: Password Recovery + Given I have an existing account + When I navigate to the login page + And I click on 'Forgot Password' + And I enter registered email address "" + And I follow the instructions in the password recovery email + Then I should be able to reset my password + And log in with the new password + + Examples: + | email | + | john@example.com | + | alice@example.com | + + @ui + Scenario Outline: Multi-Currency Support + Given I have items in the cart + When I navigate to the currency selection option + And I select a different currency "" + And I proceed to checkout + And I complete the payment process + Then prices should be displayed in the selected currency + And payment should be processed successfully + + Examples: + | currency | + | USD | + | EUR | 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..0c78c904 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json @@ -0,0 +1 @@ +[{"type":"functional","title":"User Registration and Account Creation","description":"Verify that a new user can successfully register and create an account.","testId":"TC-001","testDescription":"A new user provides valid information to register and create an account.","prerequisites":"User must have access to a valid email address.","stepsToPerform":"1. Navigate to the registration page.\n2. Enter valid user details including name, email, and password.\n3. Agree to terms and conditions.\n4. Click 'Register' button.","expectedResult":"User receives a confirmation email and account is created successfully.","additionalFields":"PII handling, data masking for sensitive fields"},{"type":"functional","title":"Product Search and Filtering","description":"Verify that users can search for products and apply filters.","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 name or keyword.\n3. Apply filters such as price range, category, and brand.\n4. Click 'Search' button.","expectedResult":"Relevant products are displayed according to the search criteria and filters applied.","additionalFields":"Boundary Value Analysis for price filters"},{"type":"functional","title":"Shopping Cart Management","description":"Verify that users can add, update, and remove items from the shopping cart.","testId":"TC-003","testDescription":"A user manages items in their shopping cart.","prerequisites":"User must be logged in and products must be available.","stepsToPerform":"1. Add a product to the cart.\n2. Update the quantity of the product.\n3. Remove a product from the cart.","expectedResult":"Cart is updated accordingly with correct item quantities and total price.","additionalFields":"State Transition testing for cart status"},{"type":"functional","title":"Checkout Process and Payment Gateway Integration","description":"Verify that users can complete the checkout process and make a payment.","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. Proceed to checkout.\n2. Enter shipping details.\n3. Select a payment method.\n4. Complete the payment process.","expectedResult":"Payment is processed successfully and an order confirmation is displayed.","additionalFields":"High-risk edge cases in payment processing"},{"type":"functional","title":"Order Confirmation and Notification","description":"Verify that users receive an order confirmation and notification after a successful purchase.","testId":"TC-005","testDescription":"A user receives confirmation and notification for their order.","prerequisites":"User must have completed a purchase.","stepsToPerform":"1. Complete a purchase.\n2. Check for order confirmation on the website.\n3. Verify receipt of email notification.","expectedResult":"Order confirmation is displayed and email notification is received.","additionalFields":"Data integrity checks for order details"},{"type":"functional","title":"User Profile Management","description":"Verify that users can update their profile information.","testId":"TC-006","testDescription":"A user updates their profile details such as name, email, and password.","prerequisites":"User must be logged in and have an existing profile.","stepsToPerform":"1. Navigate to the profile settings page.\n2. Update profile details including name, email, and password.\n3. Save changes.","expectedResult":"Profile information is updated successfully and changes are reflected in the user account.","additionalFields":"Data integrity checks for profile updates, PII handling"},{"type":"functional","title":"Role-based Access Control","description":"Verify that users have appropriate access based on their roles.","testId":"TC-007","testDescription":"A user with a specific role attempts to access restricted areas.","prerequisites":"User must be logged in with a defined role.","stepsToPerform":"1. Log in with a user account assigned a specific role.\n2. Attempt to access various sections of the application.\n3. Verify access permissions.","expectedResult":"User can access permitted areas and is restricted from unauthorized sections.","additionalFields":"Decision Table testing for role permissions"},{"type":"functional","title":"Data Validation and Error Handling","description":"Verify that the system handles invalid inputs gracefully.","testId":"TC-008","testDescription":"A user enters invalid data in various fields across the application.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate to different forms (e.g., registration, checkout).\n2. Enter invalid data (e.g., incorrect email format, negative price).\n3. Submit the form.","expectedResult":"System displays appropriate error messages and prevents form submission.","additionalFields":"Handling of invalid inputs, error messaging"},{"type":"functional","title":"Integration with External Systems","description":"Verify integration with external payment processors.","testId":"TC-009","testDescription":"A user completes a transaction using an external payment gateway.","prerequisites":"User must have items in the cart and a valid payment method.","stepsToPerform":"1. Proceed to checkout.\n2. Select an external payment gateway.\n3. Complete the payment process.","expectedResult":"Payment is processed successfully through the external gateway and order is confirmed.","additionalFields":"Integration testing with payment processors"},{"type":"functional","title":"UI Interactions Across All Screens","description":"Verify consistent UI interactions and responsiveness across all screens.","testId":"TC-010","testDescription":"A user navigates through various screens and interacts with UI elements.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate through different pages (e.g., home, product, checkout).\n2. Interact with UI elements (e.g., buttons, links, dropdowns).\n3. Resize browser window to test responsiveness.","expectedResult":"UI elements function correctly and the layout is responsive across different screen sizes.","additionalFields":"UI consistency, responsiveness testing"},{"type":"functional","title":"Guest Checkout Process","description":"Verify that users can complete the checkout process as a guest without creating an account.","testId":"TC-011","testDescription":"A user completes the checkout process as a guest using a valid payment method.","prerequisites":"User must have items in the cart.","stepsToPerform":"1. Proceed to checkout.\n2. Select 'Checkout as Guest'.\n3. Enter shipping details.\n4. Select a payment method.\n5. Complete the payment process.","expectedResult":"Payment is processed successfully and an order confirmation is displayed.","additionalFields":"Guest checkout, PII handling for guest users"},{"type":"functional","title":"Wishlist Management","description":"Verify that users can add, view, and remove items from their wishlist.","testId":"TC-012","testDescription":"A user manages items in their wishlist.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate to a product page.\n2. Add the product to the wishlist.\n3. View the wishlist.\n4. Remove a product from the wishlist.","expectedResult":"Wishlist is updated accordingly with correct items.","additionalFields":"State Transition testing for wishlist status"},{"type":"functional","title":"Order History and Details","description":"Verify that users can view their order history and details.","testId":"TC-013","testDescription":"A user views their past orders and order details.","prerequisites":"User must be logged in and have completed at least one purchase.","stepsToPerform":"1. Navigate to the order history page.\n2. Select an order to view details.\n3. Verify order details such as items, total amount, and status.","expectedResult":"Order history and details are displayed accurately.","additionalFields":"Data integrity checks for order history"},{"type":"functional","title":"Password Recovery","description":"Verify that users can recover their password using the password recovery feature.","testId":"TC-014","testDescription":"A user recovers their password using the password recovery process.","prerequisites":"User must have an existing account.","stepsToPerform":"1. Navigate to the login page.\n2. Click on 'Forgot Password'.\n3. Enter registered email address.\n4. Follow the instructions in the password recovery email.","expectedResult":"User is able to reset their password and log in with the new password.","additionalFields":"PII handling, email verification"},{"type":"functional","title":"Multi-Currency Support","description":"Verify that the system supports transactions in multiple currencies.","testId":"TC-015","testDescription":"A user selects a different currency and completes a purchase.","prerequisites":"User must have items in the cart.","stepsToPerform":"1. Navigate to the currency selection option.\n2. Select a different currency.\n3. Proceed to checkout.\n4. Complete the payment process.","expectedResult":"Prices are displayed in the selected currency and payment is processed successfully.","additionalFields":"Currency conversion, Boundary Value Analysis for currency fields"}] \ 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..5f71ffacfd83b3c3d14adb6136141431cd421ed7 GIT binary patch literal 9468 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 literal 0 HcmV?d00001