/** * @param array $order * @return Order */ public static function fromArray(array $order) { Guard::keyExists($order, 'transactions'); Guard::keyExists($order, 'amount'); Guard::keyExists($order, 'currency'); return new static(Transactions::fromArray($order['transactions']), Amount::fromInteger($order['amount']), Currency::fromString($order['currency']), array_key_exists('description', $order) ? Description::fromString($order['description']) : null, array_key_exists('merchant_order_id', $order) ? MerchantOrderId::fromString($order['merchant_order_id']) : null, array_key_exists('return_url', $order) ? Url::fromString($order['return_url']) : null, array_key_exists('expiration_period', $order) ? new \DateInterval($order['expiration_period']) : null, array_key_exists('id', $order) ? Uuid::fromString($order['id']) : null, array_key_exists('project_id', $order) ? Uuid::fromString($order['project_id']) : null, array_key_exists('created', $order) ? new Carbon($order['created']) : null, array_key_exists('modified', $order) ? new Carbon($order['modified']) : null, array_key_exists('completed', $order) ? new Carbon($order['completed']) : null, array_key_exists('status', $order) ? Status::fromString($order['status']) : null, array_key_exists('customer', $order) && $order['customer'] !== null ? Customer::fromArray($order['customer']) : null, array_key_exists('extra', $order) && $order['extra'] !== null ? Extra::fromArray($order['extra']) : null, array_key_exists('webhook_url', $order) ? Url::fromString($order['webhook_url']) : null); }
/** * @test */ public function itShouldBeSeeTransactions() { $status = Status::fromString(Status::SEE_TRANSACTIONS); $this->assertFalse($status->isNew()); $this->assertFalse($status->isProcessing()); $this->assertFalse($status->isError()); $this->assertFalse($status->isCompleted()); $this->assertFalse($status->isCancelled()); $this->assertFalse($status->isExpired()); $this->assertTrue($status->isSeeTransactions()); }