This commit is contained in:
2026-05-19 20:05:59 +02:00
parent 82fb5ad653
commit e90c251d0b
28 changed files with 777 additions and 2158 deletions

View File

@@ -1,54 +1,60 @@
# Testing — krolewskie-miody.pl
# Testowanie
## Current Status
**Data analizy:** 2026-05-19
**No testing infrastructure is configured.**
## Status
CLAUDE.md acknowledges this: *"Testy — Uzupełnij jak uruchamiać testy"* (incomplete placeholder).
Nie znaleziono root konfiguracji testów dla projektu:
## What's Missing
- brak root `composer.json`;
- brak root `package.json`;
- brak root `phpunit.xml`;
- brak root konfiguracji lint/test dla custom code.
- No `phpunit.xml` or `phpunit.xml.dist`
- No `tests/` directory
- No `.github/workflows/` CI/CD pipelines
- No PHPUnit dependency in any `composer.json`
- No JavaScript test runner (Jest, Mocha, etc.)
- No automated code quality checks on commit
W katalogach vendorowych pluginów istnieją własne `phpunit.xml`, `composer.json`, `package.json`, `webpack.config.js`, `vite.config.ts` i podobne pliki, ale należą do zewnętrznych pluginów, a nie do wspólnego test runnera tego projektu.
## Recommended Setup
## Obszary Do Manualnej Weryfikacji
### PHPUnit (WordPress unit tests)
**Checkout i zamówienie:**
- dodanie produktu do koszyka;
- przejście checkoutu z aktywną metodą dostawy InPost;
- wybór Paczkomatu przez UI z `wp-content/plugins/ws-inpost-map/assets/js/frontend/checkout.js`;
- zapis order meta `paczkomat_id`;
- widoczność Paczkomatu w adminie zamówienia.
1. Install PHPUnit via Composer in a custom plugin or child theme:
```bash
composer require --dev phpunit/phpunit wp-phpunit/wp-phpunit
```
**Płatności:**
- PayU przez `wp-content/plugins/woo-payu-payment-gateway/`;
- Przelewy24 przez `wp-content/plugins/woocommerce-gateway-przelewy24/`;
- PayPal/WooPayments przez `wp-content/plugins/woocommerce-paypal-payments/` i `wp-content/plugins/woocommerce-payments/`.
2. Create `phpunit.xml`:
```xml
<phpunit bootstrap="tests/bootstrap.php">
<testsuites>
<testsuite name="krolewskie-miody">
<directory>tests/</directory>
</testsuite>
</testsuites>
</phpunit>
```
**Dostawy:**
- `wp-content/plugins/ws-inpost-map/`;
- `wp-content/plugins/woocommerce-paczkomaty-inpost/`;
- `wp-content/plugins/inpost-for-woocommerce/`;
- `wp-content/plugins/inpost-paczkomaty/`;
- `wp-content/plugins/inpost-pay/`.
3. Place test files in `tests/` with `Test` suffix: `tests/class-checkout-test.php`
**Frontend i zgody:**
- render strony produktu, koszyka i checkoutu w aktywnym motywie;
- popup/cookie consent po zmianach trackingowych;
- brak konfliktu z GTM, Meta Pixel, PixelYourSite i Google Site Kit.
### Manual Testing Checklist (current practice)
## Zalecany Minimalny Setup
Since no automated tests exist, manual testing covers:
- Product listing and filtering
- Add to cart / cart updates
- Checkout flow (Przelewy24, PayU, PayPal)
- InPost locker selection
- Order confirmation emails (via Easy WP SMTP)
- Coupon application (flexible-coupons-pro)
- GDPR consent banner (Complianz)
- Dodać projektowy sposób uruchamiania testów w root, jeśli repo ma być rozwijane dłużej niż jednorazowo.
- Dla `wp-content/plugins/ws-inpost-map/` rozważyć testy jednostkowe PHP dla klas ustawień i zapisu order meta.
- Dla checkoutu używać testu e2e/manualnego scenariusza z prawdziwym koszykiem WooCommerce.
- Każda zmiana w checkout/dostawy/płatności powinna mieć checklistę regresji w planie PAUL.
## Notes
## Komendy
- WooCommerce 10.x ships with its own test utilities — can be leveraged for integration tests
- Code Snippets plugin stores custom PHP in DB — these snippets are not version-controlled or testable via standard tooling
Brak potwierdzonej komendy testowej dla całego projektu.
```bash
# Do ustalenia po dodaniu runnera:
# composer test
# npm test
```
---
*Aktualizuj po dodaniu root test runnera albo po ustaleniu środowiska staging.*