View Issue Details

IDProjectCategoryView StatusLast Update
0007893OXID eShop (all versions)2.3. Extensions (modules, themes)public2026-02-05 11:52
Reporterkjunker Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version6.5.3 
Summary0007893: AmazonPay Modul 2.6.x (b-6.3.x sowie b-7.0.x)
DescriptionWenn man in den yaml Dateien einen Leerstring einträgt, so werden keine Defaultwerte gesetzt.

Beispiel:
      amazonPayCapType:
        type: str
        value: ''

Die entsprechende Validierung des Wertes erfolgt in \OxidSolutionCatalysts\AmazonPay\Controller\Admin\ConfigController::handleSpecialFields
Dort wird als Validierung eine !isset($conf['amazonPayCapType']) ausgeführt.

Diese ist jedoch bei einem Leerstring immer false, da ein Leerstring als gesetzt zählt:
php -r '$conf["foo"] = ""; var_dump(!isset($conf["foo"]));'

Dadurch werden die Daten nicht korrekt gesetzt in der Configuration für AmazonPay.
Additional InformationWir haben uns das Repository für das amazonpay module geforked, aber können anhand der lückenhaften Dokumentation und fehlenden Composer Packages keine Tests ausführen.
Wenn ihr das noch fixed, dann kann man euch direkt eine Lösung vorschlagen. (PS: es gibt keine bootstrap.php im Testorder wie in der phpunit.xml gefordert)

Zusätzlich denkt der Test \OxidSolutionCatalysts\AmazonPay\Tests\Integration\Controller\Admin\ConfigControllerTest nicht alle Variablen die konfiguriert werden ab.
Es gibt auch keinen Unit Test dazu.
TagsAmazon Pay, amazonpay, Module
ThemeNot defined
BrowserNot defined
PHP Version8.1
Database VersionNot defined

Activities

There are no notes attached to this issue.