# naveenanimation20/opencartwebapiautomationframework architecture

> Architecture diagram of the GitHub repository naveenanimation20/opencartwebapiautomationframework, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/naveenanimation20/opencartwebapiautomationframework
- Repository: https://github.com/naveenanimation20/opencartwebapiautomationframework

## Overview

This repository is a Playwright automation framework for OpenCart UI flows and API exercises. Its user-to-result workflow is test execution against a web application or API, with page objects and API helpers supporting interaction and response handling; data readers and sample datasets support test inputs. The README is empty, and test implementations and fixtures were not sampled, so their detailed wiring is not represented.

Main entry points: [`src/pages/BasePage.ts`](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/BasePage.ts) (Shared page actions), [`src/testdata`](https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/src/testdata) (Test datasets), [`src/pages/HomePage.ts`](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/HomePage.ts) (Home page), [`src/pages/LoginPage.ts`](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/LoginPage.ts) (Login page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["UI automation"]
  node_ui_suites["UI test suites"]
  node_home["Home page<br/>[HomePage.ts]"]
  node_login["Login page<br/>[LoginPage.ts]"]
  node_search["Search results"]
  node_product["Product details<br/>[ProductInfoPage.ts]"]
  node_base["Shared page actions<br/>[BasePage.ts]"]
end

subgraph group_api["API automation"]
  node_api_suites["API test suites"]
  node_api_helper["HTTP helper<br/>[ApiHelper.ts]"]
end

subgraph group_support["Test support"]
  node_fixtures["Test fixtures"]
  node_csv["CSV reader<br/>[CsvHelper.ts]"]
  node_excel["Excel reader<br/>[ExcelHelper.ts]"]
  node_json["JSON reader<br/>[JsonHelper.ts]"]
  node_datasets["Test datasets"]
  node_schema["User schema<br/>[userschema.json]"]
end

node_runner(("Playwright runner"))
node_api_service(("API under test"))
node_opencart(("OpenCart application"))

node_runner -->|"runs"| node_ui_suites
node_runner -->|"runs"| node_api_suites
node_home -->|"extends"| node_base
node_login -->|"extends"| node_base
node_search -->|"extends"| node_base
node_product -->|"extends"| node_base
node_api_helper -->|"sends HTTP"| node_api_service
node_csv -->|"reads CSV"| node_datasets
node_excel -->|"reads workbook"| node_datasets
node_json -->|"reads JSON"| node_datasets

click node_ui_suites "https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/tests"
click node_home "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/HomePage.ts"
click node_login "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/LoginPage.ts"
click node_search "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/SearchResultsPage.ts"
click node_product "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/ProductInfoPage.ts"
click node_base "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/BasePage.ts"
click node_api_suites "https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/tests/api"
click node_api_helper "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/api/ApiHelper.ts"
click node_fixtures "https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/src/fixtures"
click node_csv "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/CsvHelper.ts"
click node_excel "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/ExcelHelper.ts"
click node_json "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/JsonHelper.ts"
click node_datasets "https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/src/testdata"
click node_schema "https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/schema/userschema.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ui_suites,node_home,node_login,node_search,node_product,node_base toneBlue
class node_api_suites,node_api_helper toneAmber
class node_fixtures,node_csv,node_excel,node_json,node_datasets,node_schema,node_api_service toneMint
class node_runner,node_opencart toneIndigo
```

## Components

### UI automation

- [UI test suites](https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/tests): `tests`
- [Home page](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/HomePage.ts): `src/pages/HomePage.ts`
- [Login page](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/LoginPage.ts): `src/pages/LoginPage.ts`
- [Search results](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/SearchResultsPage.ts): `src/pages/SearchResultsPage.ts`
- [Product details](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/ProductInfoPage.ts): `src/pages/ProductInfoPage.ts`
- [Shared page actions](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/pages/BasePage.ts): `src/pages/BasePage.ts`

### API automation

- [API test suites](https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/tests/api): `tests/api`
- [HTTP helper](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/api/ApiHelper.ts): `src/api/ApiHelper.ts`

### Test support

- [Test fixtures](https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/src/fixtures): `src/fixtures`
- [CSV reader](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/CsvHelper.ts): `src/utils/CsvHelper.ts`
- [Excel reader](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/ExcelHelper.ts): `src/utils/ExcelHelper.ts`
- [JSON reader](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/utils/JsonHelper.ts): `src/utils/JsonHelper.ts`
- [Test datasets](https://github.com/naveenanimation20/opencartwebapiautomationframework/tree/main/src/testdata): `src/testdata`
- [User schema](https://github.com/naveenanimation20/opencartwebapiautomationframework/blob/main/src/schema/userschema.json): `src/schema/userschema.json`

### Other components

- **Playwright runner**
- **API under test**
- **OpenCart application**

## Connections

- Playwright runner → UI test suites: runs
- Playwright runner → API test suites: runs
- Home page → Shared page actions: extends
- Login page → Shared page actions: extends
- Search results → Shared page actions: extends
- Product details → Shared page actions: extends
- HTTP helper → API under test: sends HTTP
- CSV reader → Test datasets: reads CSV
- Excel reader → Test datasets: reads workbook
- JSON reader → Test datasets: reads JSON
