public function testInvoicePropertiesAreMapped() { $invoice = Invoice::fromCommand($this->getMockOperationCommand()); $this->assertEquals($this->json['id'], $invoice->getId()); $this->assertEquals($this->json['url'], $invoice->getUrl()); $this->assertEquals($this->json['posData'], $invoice->getPosData()); $this->assertEquals($this->json['status'], $invoice->getStatus()); $this->assertEquals($this->json['btcPrice'], $invoice->getBtcPrice()); $this->assertEquals($this->json['price'], $invoice->getPrice()); $this->assertEquals($this->json['currency'], $invoice->getCurrency()); $this->assertInstanceOf('\\DateTime', $invoice->getExpirationTime()); $this->assertInstanceOf('\\DateTime', $invoice->getCurrentTime()); $this->assertInstanceOf('\\DateTime', $invoice->getInvoiceTime()); $this->assertEquals(Invoice::parseDate($this->json['expirationTime']), $invoice->getExpirationTime()); $this->assertEquals(Invoice::parseDate($this->json['currentTime']), $invoice->getCurrentTime()); $this->assertEquals(Invoice::parseDate($this->json['invoiceTime']), $invoice->getInvoiceTime()); }