feat: better data wf

This commit is contained in:
2024-01-18 16:41:03 +01:00
parent 9bd3b5efff
commit 1a3cf1c2e0
22 changed files with 186 additions and 77 deletions

View File

@@ -2,7 +2,10 @@
namespace App\Tests\Service\Remote;
use App\Entity\QRCode\QRCode;
use App\Entity\DTO\QRCode\QRCode;
use App\Entity\DTO\QRCode\QRCodeMoney;
use App\Entity\DTO\QRCode\QRCodePaymentIdentification;
use App\Entity\DTO\QRCode\QRCodeQROptions;
use App\Entity\Remote\Usetreno\Edge\EdgeQRCode;
use App\Entity\Remote\Usetreno\Edge\EdgeQRCodeMoney;
use App\Entity\Remote\Usetreno\Edge\EdgeQRCodePaymentIdentification;
@@ -30,57 +33,24 @@ class UsetrenoQRCodeProviderTest extends TestCase
]
];
$edgeEntity = new EdgeQRCode(
"CZ0000",
(new \DateTime("now"))->format('Y-m-d'),
"foo",
new EdgeQRCodeMoney(
100,
"CZK"
),
new EdgeQRCodeQROptions(
1,
1
),
new EdgeQRCodePaymentIdentification(
"0", "0", "0"
)
);
[$edgeEntity, $qrCodeEntity] = $this->createQRCodeEntityPair();
$entity = $this->createMock(QRCode::class);
$qrCodeProvider = $this->createQRCodeProvider($successRequest, 200, $edgeEntity, $entity);
$data = $qrCodeProvider->generateQRCodeFromEntity($entity);
$qrCodeProvider = $this->createQRCodeProvider($successRequest, 200, $edgeEntity, $qrCodeEntity);
$data = $qrCodeProvider->generateQRCodeFromEntity($qrCodeEntity);
$this->assertEquals($base64Image, $data);
}
public function testFailureRequest() {
$this->expectException(QRCodeGeneratorException::class);
$failureRequest = [
"error" => "internal server error",
];
$edgeEntity = new EdgeQRCode(
"CZ0000",
(new \DateTime("now"))->format('Y-m-d'),
"foo",
new EdgeQRCodeMoney(
100,
"CZK"
),
new EdgeQRCodeQROptions(
1,
1
),
new EdgeQRCodePaymentIdentification(
"0", "0", "0"
)
);
[$edgeEntity, $qrCodeEntity] = $this->createQRCodeEntityPair();
$entity = $this->createMock(QRCode::class);
$qrCodeProvider = $this->createQRCodeProvider($failureRequest, 500, $edgeEntity, $entity);
$data = $qrCodeProvider->generateQRCodeFromEntity($entity);
$qrCodeProvider = $this->createQRCodeProvider($failureRequest, 500, $edgeEntity, $qrCodeEntity);
$data = $qrCodeProvider->generateQRCodeFromEntity($qrCodeEntity);
$this->assertEquals($failureRequest["data"]["base64Data"], $data);
}
@@ -107,4 +77,42 @@ class UsetrenoQRCodeProviderTest extends TestCase
return new UsetrenoQRCodeProvider($this->getLogger(), $mock, $converterMock);
}
protected function createQRCodeEntityPair() {
$edgeEntity = new EdgeQRCode(
"CZ0000",
(new \DateTime("now"))->format('Y-m-d'),
"foo",
new EdgeQRCodeMoney(
100,
"CZK"
),
new EdgeQRCodeQROptions(
1,
1
),
new EdgeQRCodePaymentIdentification(
"0", "0", "0"
)
);
$qrCodeEntity = new QRCode(
"CZ0000",
new \DateTimeImmutable("now"),
"foo",
new QRCodeMoney(
100,
"CZK"
),
new QRCodeQROptions(
1,
1
),
new QRCodePaymentIdentification(
"0", "0", "0"
)
);
return [$edgeEntity, $qrCodeEntity];
}
}