-<?phpuse GuzzleHttp\Handler\MockHandler;use GuzzleHttp\HandlerStack;use GuzzleHttp\Psr7\Response;use GuzzleHttp\Middleware;class DisconnectsTest extends PHPUnit_Framework_TestCase { public static $container; public static $disconnects; public static $index = 0; public static function setUpBeforeClass() { $mock = new MockHandler([ new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><DisconnectTelephoneNumberOrderResponse> <orderRequest> <CustomerOrderId>Disconnect1234</CustomerOrderId> <OrderCreateDate>2015-06-17T18:14:08.683Z</OrderCreateDate> <id>b902dee1-0585-4258-becd-5c7e51ccf5e1</id> <DisconnectTelephoneNumberOrderType> <TelephoneNumberList> <TelephoneNumber>9192755378</TelephoneNumber> <TelephoneNumber>9192755703</TelephoneNumber> </TelephoneNumberList> <DisconnectMode>normal</DisconnectMode> </DisconnectTelephoneNumberOrderType> </orderRequest> <OrderStatus>RECEIVED</OrderStatus></DisconnectTelephoneNumberOrderResponse>"), new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ResponseSelectWrapper><ListOrderIdUserIdDate><TotalCount>7</TotalCount><Links><!-- SNIP --></Links><OrderIdUserIdDate><CountOfTNs>1</CountOfTNs><userId>smckinnon</userId><lastModifiedDate>2014-01-10T17-34-15Z</lastModifiedDate><OrderId>6d7da966-e071-4741-b31c-1d8932f4b8da</OrderId><OrderType>disconnect</OrderType><OrderDate>2014-01-10T17-34-15.797Z</OrderDate><OrderStatus>COMPLETE</OrderStatus><TelephoneNumberDetails> <!-- SNIP --></TelephoneNumberDetails></OrderIdUserIdDate><OrderIdUserIdDate><CountOfTNs>1</CountOfTNs><userId>jbm</userId><lastModifiedDate>2013-12-04T21-59-32Z</lastModifiedDate><OrderId>4ffe9262-1965-4479-a1d5-b8584440667d</OrderId><OrderType>disconnect</OrderType><OrderDate>2013-12-04T21-59-32.243Z</OrderDate><OrderStatus>COMPLETE</OrderStatus><TelephoneNumberDetails><!-- SNIP --></TelephoneNumberDetails></OrderIdUserIdDate></ListOrderIdUserIdDate></ResponseSelectWrapper>"), new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><DisconnectTelephoneNumberOrderResponse> <ErrorList> <Error> <Code>5006</Code> <Description>Telephone number could not be disconnected since it is not associated with your account</Description> <TelephoneNumber>9192755703</TelephoneNumber> </Error> <Error> <Code>5006</Code> <Description>Telephone number could not be disconnected since it is not associated with your account</Description> <TelephoneNumber>9192755378</TelephoneNumber> </Error> </ErrorList> <orderRequest> <CustomerOrderId>Disconnect1234</CustomerOrderId> <OrderCreateDate>2015-06-17T18:14:08.683Z</OrderCreateDate> <id>b902dee1-0585-4258-becd-5c7e51ccf5e1</id> <DisconnectTelephoneNumberOrderType> <TelephoneNumberList> <TelephoneNumber>9192755378</TelephoneNumber> <TelephoneNumber>9192755703</TelephoneNumber> </TelephoneNumberList> <DisconnectMode>normal</DisconnectMode> </DisconnectTelephoneNumberOrderType> </orderRequest> <OrderStatus>FAILED</OrderStatus></DisconnectTelephoneNumberOrderResponse>"), ]); self::$container = []; $history = Middleware::history(self::$container); $handler = HandlerStack::create($mock); $handler->push($history); $client = new Iris\Client("test", "test", Array('url' => 'https://api.test.inetwork.com/v1.0', 'handler' => $handler)); $account = new Iris\Account(9500249, $client); self::$disconnects = $account->disconnects(); } public function testDisconnectCreate() { $disconnect = self::$disconnects->create(array( "name" => "test disconnect order 4", "CustomerOrderId" => "Disconnect1234", "DisconnectTelephoneNumberOrderType" => array( "TelephoneNumberList" => array( "TelephoneNumber" => array("9192755378", "9192755703") ) ) )); $json = '{"OrderId":"b902dee1-0585-4258-becd-5c7e51ccf5e1","OrderStatus":{"orderRequest":{"CustomerOrderId":"Disconnect1234","OrderCreateDate":"2015-06-17T18:14:08.683Z","id":"b902dee1-0585-4258-becd-5c7e51ccf5e1","DisconnectTelephoneNumberOrderType":{"TelephoneNumberList":{"TelephoneNumber":["9192755378","9192755703"]},"DisconnectMode":"normal"}},"OrderStatus":"RECEIVED"},"name":"test disconnect order 4","CustomerOrderId":"Disconnect1234","DisconnectTelephoneNumberOrderType":{"TelephoneNumberList":{"TelephoneNumber":["9192755378","9192755703"]},"DisconnectMode":"normal"},"OrderCreateDate":"2015-06-17T18:14:08.683Z"}'; $this->assertEquals($json, json_encode($disconnect->to_array())); $this->assertEquals("RECEIVED", $disconnect->OrderStatus->OrderStatus); $this->assertEquals("b902dee1-0585-4258-becd-5c7e51ccf5e1", $disconnect->OrderId); $this->assertEquals("POST", self::$container[self::$index]['request']->getMethod()); $this->assertEquals("https://api.test.inetwork.com/v1.0/accounts/9500249/disconnects", self::$container[self::$index]['request']->getUri()); self::$index++; } public function testDisconnectsGet() { $disconnects = self::$disconnects->getList(); $json = '{"CountOfTNs":"1","userId":"smckinnon","lastModifiedDate":"2014-01-10T17-34-15Z","OrderId":"6d7da966-e071-4741-b31c-1d8932f4b8da","OrderType":"disconnect","OrderDate":"2014-01-10T17-34-15.797Z","OrderStatus":"COMPLETE"}'; $this->assertEquals(2, count($disconnects)); $this->assertEquals($json, json_encode($disconnects[0]->to_array())); $this->assertEquals("GET", self::$container[self::$index]['request']->getMethod()); $this->assertEquals("https://api.test.inetwork.com/v1.0/accounts/9500249/disconnects?page=1&size=30", self::$container[self::$index]['request']->getUri()); self::$index++; } public function testDisconnectGet() { $disconnect = self::$disconnects->create(["OrderId" => "b902dee1-0585-4258-becd-5c7e51ccf5e1"], false); $response = $disconnect->get(true); $json = '{"OrderId":"b902dee1-0585-4258-becd-5c7e51ccf5e1","CustomerOrderId":"Disconnect1234","DisconnectTelephoneNumberOrderType":{"TelephoneNumberList":{"TelephoneNumber":["9192755378","9192755703"]},"DisconnectMode":"normal"},"OrderCreateDate":"2015-06-17T18:14:08.683Z"}'; $this->assertEquals($json, json_encode($disconnect->to_array())); $json1 = '{"ErrorList":{"Error":[{"TelephoneNumber":"9192755703","Code":"5006","Description":"Telephone number could not be disconnected since it is not associated with your account"},{"TelephoneNumber":"9192755378","Code":"5006","Description":"Telephone number could not be disconnected since it is not associated with your account"}]},"OrderStatus":"FAILED"}'; $this->assertEquals($json1, json_encode($response->to_array())); $this->assertEquals("GET", self::$container[self::$index]['request']->getMethod()); $this->assertEquals("https://api.test.inetwork.com/v1.0/accounts/9500249/disconnects/b902dee1-0585-4258-becd-5c7e51ccf5e1?tndetail=true", self::$container[self::$index]['request']->getUri()); self::$index++; }}
0 commit comments