function testCreateOrderFromButtonCode() { $requestor = new MockCoinbase_Requestor(); $requestor->returns('doCurlRequest', array("statusCode" => 200, "body" => ' { "success": true, "button": { "code": "93865b9cae83706ae59220c013bc0afd", "type": "buy_now", "style": "custom_large", "text": "Pay With Bitcoin", "name": "test", "description": "Sample description", "custom": "Order123", "price": { "cents": 123, "currency_iso": "USD" } } }')); $coinbase = new Coinbase(""); $coinbase->setRequestor($requestor); $response = $coinbase->createButton("test", "1.23", "USD", "Order123", array("style" => "custom_large", "description" => "Sample description")); $this->assertEqual($response->button->code, '93865b9cae83706ae59220c013bc0afd'); $buttonCode = $response->button->code; $requestor = new MockCoinbase_Requestor(); $requestor->returns('doCurlRequest', array("statusCode" => 200, "body" => ' { "success": true, "order": { "id": "7RTTRDVP", "created_at": "2013-11-09T22:47:10-08:00", "status": "new", "total_btc": { "cents": 100000000, "currency_iso": "BTC" }, "total_native": { "cents": 100000000, "currency_iso": "BTC" }, "custom": "Order123", "receive_address": "mgrmKftH5CeuFBU3THLWuTNKaZoCGJU5jQ", "button": { "type": "buy_now", "name": "test", "description": "Sample description", "id": "93865b9cae83706ae59220c013bc0afd" }, "transaction": null } }')); $coinbase = new Coinbase(""); $coinbase->setRequestor($requestor); $response = $coinbase->createOrderFromButtonCode($buttonCode); $this->assertEqual($response->order->button->id, $buttonCode); $this->assertEqual($response->order->status, 'new'); }