Files
opensourcepos/package.json
jekkos 3c5f4c1465 Add integration test harness with Playwright E2E tests
- Add basic Docker integration tests (run-integration-tests.sh)
  - Validates Docker stack startup
  - Checks login page accessibility and HTTP status
  - Verifies login form presence

- Add Playwright E2E test suite
  - Login tests: valid/invalid credentials, protected pages
  - Items tests: create, update, verify in inventory table
  - Customers tests: create with details, search, table verification
  - Sales tests: full sale flow with items, customers, payment, and receipt validation

- Configure Playwright with multi-browser support (Chrome, Firefox)
- Add GitHub Actions workflow for CI/CD
  - Runs on push/PR to master
  - Includes both basic and Playwright tests
  - Uploads screenshots, traces, and logs on failure

- Organize tests in integration-tests/ directory
- Update package.json with test scripts
- Include comprehensive documentation

This provides automated testing for core POS workflows including
item management, customer management, and complete sales transactions
with receipt generation verification.
2026-03-04 21:37:07 +00:00

94 lines
3.3 KiB
JSON

{
"name": "@opensourcepos/opensourcepos",
"version": "3.4.2",
"description": "pen Source Point of Sale is a web based point of sale system written in the PHP language. It uses MySQL as the data storage back-end and has a simple user interface.",
"main": "index.php",
"license": "MIT",
"authors": [
"jekkos <jekkos - at - opensourcepos.org>",
"FrancescoUK <francesco.lodolo.uk - at - gmail.com>",
"objecttothis <objecttothis - at - gmail.com>",
"SteveIreland <stevei - at - ruledomain.com>"
],
"files": [
"dist/opensourcepos.$version.tgz"
],
"publishConfig": {
"registry": "https://npm.pkg.github.com/"
},
"keywords": [
"point-of-sale",
"POS"
],
"repository": {
"type": "git",
"url": "https://github.com/opensourcepos/opensourcepos"
},
"scripts": {
"build": "gulp default",
"gulp": "gulp",
"test": "cd integration-tests && playwright test",
"test:headed": "cd integration-tests && playwright test --headed",
"test:ui": "cd integration-tests && playwright test --ui",
"test:debug": "cd integration-tests && playwright test --debug",
"test:install": "cd integration-tests && playwright install --with-deps"
},
"type": "module",
"dependencies": {
"bootstrap": "^3.4.1",
"bootstrap-daterangepicker": "^2.1.27",
"bootstrap-datetime-picker": "2.4.4",
"bootstrap-notify": "^3.1.3",
"bootstrap-select": "^1.13.18",
"bootstrap-table": "^1.23.5",
"bootstrap-tagsinput-2021": "^0.8.6",
"bootstrap-toggle": "^2.2.2",
"bootstrap3-dialog": "github:nakupanda/bootstrap3-dialog#master",
"bootstrap5": "npm:bootstrap@^5.3.5",
"bootswatch": "^3.4.1",
"bootswatch5": "npm:bootswatch@^5.3.5",
"chartist": "^0.11.4",
"chartist-plugin-axistitle": "^0.0.7",
"chartist-plugin-barlabels": "^0.0.5",
"chartist-plugin-pointlabels": "^0.0.6",
"chartist-plugin-tooltips": "^0.0.17",
"clipboard": "^2.0.11",
"coffeescript": "^2.7.0",
"dompurify": "^3.3.0",
"elegant-circles": "github:opensourcepos/elegant-circles#minified",
"es6-promise": "^4.2.8",
"file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"jasny-bootstrap": "^3.1.3",
"jquery": "^3.7.1",
"jquery-form": "^4.3.0",
"jquery-ui-dist": "^1.12.1",
"jquery-validation": "^1.19.5",
"jspdf": "^4.1.0",
"jspdf-autotable": "^5.0.7",
"tableexport.jquery.plugin": "^1.30.0"
},
"devDependencies": {
"@playwright/test": "^1.44.0",
"@types/node": "^20.11.0",
"gulp": "^5.0.0",
"gulp-clean": "^0.4.0",
"gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1",
"gulp-debug": "^5.0.1",
"gulp-gzip": "^1.4.2",
"gulp-header": "^2.0.9",
"gulp-inject": "^5.0.5",
"gulp-rename": "^2.0.0",
"gulp-rev": "^10.0.0",
"gulp-run": "^1.7.1",
"gulp-tar": "^4.0.0",
"gulp-uglify": "^3.0.2",
"gulp-zip": "^6.1.0",
"license-report": "^6.7.2",
"npm-check-updates": "^17.1.14",
"readable-stream": "^4.4.2",
"stream-series": "^0.1.1"
}
}