Add shared ERP sync core and Optima adapter
This commit is contained in:
48
OPTIMA-INTEGRATION-TESTS.md
Normal file
48
OPTIMA-INTEGRATION-TESTS.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Testy integracyjne Comarch ERP Optima
|
||||
|
||||
Testy z bazą są celowo wykonywane dopiero po ręcznym przygotowaniu i zarejestrowaniu firmy w Optimie. Narzędzia w tym repozytorium nie odtwarzają, nie tworzą ani nie modyfikują konfiguracji baz Optimy.
|
||||
|
||||
## Przygotowanie
|
||||
|
||||
1. Skopiuj `src/SmartB2B.Optima.Service/config/optima.json.sample` do lokalnego, ignorowanego przez Git pliku `src/SmartB2B.Optima.Service/config/optima.json`.
|
||||
2. Uzupełnij nazwę firmy widoczną podczas logowania, operatora, hasło, identyfikator magazynu i connection string SQL.
|
||||
3. Nie dodawaj pliku `optima.json` do repozytorium ani paczki wdrożeniowej.
|
||||
4. W przygotowanej firmie zapewnij kontrolowane dane testowe: kontrahenta, towar, magazyn, walutę oraz definicje RO liczone netto i brutto.
|
||||
|
||||
## Kontrola bez zapisu
|
||||
|
||||
Uruchom opublikowaną wersję x64:
|
||||
|
||||
```powershell
|
||||
.\release-optima\SmartB2B.Optima.Service.exe --config .\src\SmartB2B.Optima.Service\config\optima.json --check-config
|
||||
```
|
||||
|
||||
Polecenie sprawdza JSON, zgodność architektury procesu z `op_base.dll`, rejestrację COM, wersję Optimy, połączenie SQL, logowanie operatora i utworzenie sesji. Nie zapisuje dokumentu.
|
||||
|
||||
## Scenariusze zapisu przez WAMP
|
||||
|
||||
Pierwszy kontrolowany zapis adaptera można wykonać runnerem, który wymaga jawnego
|
||||
parametru `--write-order` i domyślnie zapisuje wyłącznie w trybie `Buffer`:
|
||||
|
||||
```powershell
|
||||
dotnet run --project .\tests\SmartB2B.Optima.IntegrationTests -- --config .\src\SmartB2B.Optima.Service\config\optima.json --negative-tests --write-order --customer-id 2 --product-code SMARTB2B_TEST_TWR
|
||||
```
|
||||
|
||||
Zatwierdzenie dokumentu wymaga dodatkowej flagi `--approved` i powinno być wykonywane
|
||||
wyłącznie w firmie testowej:
|
||||
|
||||
```powershell
|
||||
dotnet run --project .\tests\SmartB2B.Optima.IntegrationTests -- --config .\src\SmartB2B.Optima.Service\config\optima.json --write-order --approved --customer-id 2 --product-code SMARTB2B_TEST_TWR
|
||||
```
|
||||
|
||||
Po pomyślnym `--check-config` uruchom usługę z tym samym plikiem konfiguracji i sprawdź kolejno:
|
||||
|
||||
- RO w buforze (`saveMode: Buffer`) i zatwierdzone (`saveMode: Approved`);
|
||||
- definicję liczoną netto z `price_netto` i brutto z `price_brutto`;
|
||||
- rabat, uwagi, numer obcy, magazyn oraz walutę;
|
||||
- zgodność `order_erp_id`, `order_erp_symbol`, `value_netto` i `value_brutto` z dokumentem zapisanym w Optimie;
|
||||
- błędy dla brakującego kontrahenta, produktu, magazynu, waluty i wymaganej ceny;
|
||||
- parametryzowane `sql_raw`, wiele recordsetów, dane binarne oraz błąd SQL;
|
||||
- dwa równoczesne wywołania `place_order` — dokumenty mają zostać utworzone kolejno na jednym wątku COM.
|
||||
|
||||
Przed testami trybu `Approved` wykonaj kopię bezpieczeństwa bazy lub użyj firmy przeznaczonej wyłącznie do testów.
|
||||
Reference in New Issue
Block a user