guest-declaration-draft-status.php 1.7 KB

1234567891011121314151617181920212223242526272829
  1. <?php
  2. require __DIR__ . '/../../helpers/GuestDeclarationDraftStatus.php';
  3. use common\helpers\GuestDeclarationDraftStatus;
  4. $checks = [
  5. 'draft can reserve payment initialization' => GuestDeclarationDraftStatus::canTransition('draft', 'payment_initializing'),
  6. 'payment initialization can become pending' => GuestDeclarationDraftStatus::canTransition('payment_initializing', 'pending_payment'),
  7. 'payment initialization can enter manual review' => GuestDeclarationDraftStatus::canTransition('payment_initializing', 'manual_review'),
  8. 'pending payment can be claimed' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'processing'),
  9. 'pending payment can be resubmitted with updated details' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'payment_initializing'),
  10. 'pending payment can enter manual review' => GuestDeclarationDraftStatus::canTransition('pending_payment', 'manual_review'),
  11. 'failed payment can be retried' => GuestDeclarationDraftStatus::canTransition('payment_failed', 'payment_initializing'),
  12. 'processing can complete' => GuestDeclarationDraftStatus::canTransition('processing', 'completed'),
  13. 'completed cannot be reopened' => !GuestDeclarationDraftStatus::canTransition('completed', 'pending_payment'),
  14. 'pending payment can expire' => GuestDeclarationDraftStatus::isExpired(99, 100),
  15. 'expiry boundary is expired' => GuestDeclarationDraftStatus::isExpired(100, 100),
  16. 'future expiry is not expired' => !GuestDeclarationDraftStatus::isExpired(101, 100),
  17. ];
  18. foreach ($checks as $description => $passed) {
  19. if (!$passed) {
  20. fwrite(STDERR, "FAIL: {$description}\n");
  21. exit(1);
  22. }
  23. }
  24. echo 'PASS: ' . count($checks) . " guest draft status checks\n";