setAmount(AmountTest::createAmount()); $sale->setCreate_time(self::$createTime); $sale->setId(self::$id); $sale->setLinks(array(LinkTest::createLink())); $sale->setParent_payment(self::$parentPayment); $sale->setState(self::$state); return $sale; } public function setup() { $this->sale = self::createSale(); } public function testGetterSetter() { $this->assertEquals(self::$createTime, $this->sale->getCreate_time()); $this->assertEquals(self::$id, $this->sale->getId()); $this->assertEquals(self::$parentPayment, $this->sale->getParent_payment()); $this->assertEquals(self::$state, $this->sale->getState()); $this->assertEquals(AmountTest::$currency, $this->sale->getAmount()->getCurrency()); $links = $this->sale->getLinks(); $this->assertEquals(LinkTest::$href, $links[0]->getHref()); } public function testSerializeDeserialize() { $s1 = $this->sale; $s2 = new Sale(); $s2->fromJson($s1->toJson()); $this->assertEquals($s1, $s2); } public function testOperations() { $payment = PaymentTest::createNewPayment(); $payment->create(); $transactions = $payment->getTransactions(); $resources = $transactions[0]->getRelated_resources(); $saleId = $resources[0]->getSale()->getId(); $sale = Sale::get($saleId); $this->assertNotNull($sale); $refund = new Refund(); $refund->setAmount(AmountTest::createAmount()); $sale->refund($refund); $this->setExpectedException('\InvalidArgumentException'); $sale->refund(NULL); } }