assertSame($adminStatus, Purchase::adminStatusFor($realStatus)); $this->assertSame($adminStatusName, Purchase::adminStatusNameFor($realStatus)); $this->assertContains( $realStatus, Purchase::realStatusesForAdminStatus($adminStatus), ); } /** @return iterable */ public static function statusMappings(): iterable { yield 'created' => [ Purchase::STATUS_CREATED, Purchase::ADMIN_STATUS_INCOMPLETE, 'Por completar datos', ]; yield 'pending payment' => [ Purchase::STATUS_PENDING_PAYMENT, Purchase::ADMIN_STATUS_AWAITING_PAYMENT, 'Esperando pago', ]; yield 'in review' => [ Purchase::STATUS_IN_REVIEW, Purchase::ADMIN_STATUS_AWAITING_PAYMENT, 'Esperando pago', ]; yield 'paid' => [ Purchase::STATUS_PAID, Purchase::ADMIN_STATUS_CONFIRMED, 'Confirmado', ]; yield 'cancelled' => [ Purchase::STATUS_CANCELLED, Purchase::ADMIN_STATUS_CANCELLED, 'Anulado', ]; yield 'rejected' => [ Purchase::STATUS_REJECTED, Purchase::ADMIN_STATUS_CANCELLED, 'Anulado', ]; yield 'expired' => [ Purchase::STATUS_EXPIRED, Purchase::ADMIN_STATUS_CANCELLED, 'Anulado', ]; yield 'superseded' => [ Purchase::STATUS_SUPERSEDED, Purchase::ADMIN_STATUS_CANCELLED, 'Anulado', ]; } }