| 1234567891011121314151617181920212223242526272829 |
- <?php
- require __DIR__ . '/../../helpers/GuestDeclarationDraftStatus.php';
- use common\helpers\GuestDeclarationDraftStatus;
- $checks = [
- 'draft can reserve payment initialization' => GuestDeclarationDraftStatus::canTransition('draft', 'payment_initializing'),
- 'payment initialization can become pending' => GuestDeclarationDraftStatus::canTransition('payment_initializing', 'pending_payment'),
- 'payment initialization can enter manual review' => GuestDeclarationDraftStatus::canTransition('payment_initializing', 'manual_review'),
- 'pending payment can be claimed' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'processing'),
- 'pending payment can be resubmitted with updated details' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'payment_initializing'),
- 'pending payment can enter manual review' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'manual_review'),
- 'failed payment can be retried' => GuestDeclarationDraftStatus::canTransition('payment_failed', 'payment_initializing'),
- 'processing can complete' => GuestDeclarationDraftStatus::canTransition('processing', 'completed'),
- 'completed cannot be reopened' => !GuestDeclarationDraftStatus::canTransition('completed', 'pending_payment'),
- 'pending payment can expire' => GuestDeclarationDraftStatus::isExpired(99, 100),
- 'expiry boundary is expired' => GuestDeclarationDraftStatus::isExpired(100, 100),
- 'future expiry is not expired' => !GuestDeclarationDraftStatus::isExpired(101, 100),
- ];
- foreach ($checks as $description => $passed) {
- if (!$passed) {
- fwrite(STDERR, "FAIL: {$description}\n");
- exit(1);
- }
- }
- echo 'PASS: ' . count($checks) . " guest draft status checks\n";
|