request->telephonySettingsEdit( self::TEL_CODE, self::TEL_CLIENT, true, 'TestTelephonyV4', false, self::TEL_IMAGE, [['userId' => $user, 'code' => '101']], [['siteCode' => 'api-client-php', 'externalPhone' => '+74950000000']] ); static::assertInstanceOf('RetailCrm\Response\ApiResponse', $response); static::assertTrue(in_array($response->getStatusCode(), [200, 201])); static::assertTrue($response->isSuccessful()); } /** * Settings Get test * * @group telephony * * @return void */ public function testTelephonySettingsGet() { self::markTestSkipped('Should be fixed.'); $client = static::getApiClient(null, null, ApiClient::V4); /* @var \RetailCrm\Response\ApiResponse $response */ $response = $client->request->telephonySettingsGet(self::TEL_CODE); static::assertInstanceOf('RetailCrm\Response\ApiResponse', $response); static::assertEquals(200, $response->getStatusCode()); static::assertTrue($response->isSuccessful()); } /** * Event test * * @group telephony * * @return void */ public function testTelephonyEvent() { $stub = $this->getMockBuilder(\RetailCrm\Http\Client::class) ->disableOriginalConstructor() ->setMethods(['makeRequest']) ->getMock(); $parameters = [ 'phone' => '+79999999999', 'type' => 'in', 'codes' => ['101'], 'userIds' => [2], 'hangupStatus' => 'failed', 'callExternalId' => '+74950000000', 'externalPhone' => '123456789', 'webAnalyticsData' => [], 'site' => 'retailcrm-ru' ]; $stub->expects(self::once())->method('makeRequest')->with( '/telephony/call/event', "POST", ['event' => json_encode($parameters)] )->willReturn((new ApiResponse(200, json_encode(['success' => true])))->asJsonResponse()); $client = static::getMockedApiClient($stub); $response = $client->request->telephonyCallEvent( '+79999999999', 'in', ['101'], [2], 'failed', '123456789', '+74950000000', [] ); static::assertTrue($response->isSuccessful()); } /** * Upload test * * @group telephony * * @return void */ public function testTelephonyUpload() { self::markTestSkipped('Should be fixed.'); $client = static::getApiClient(null, null, ApiClient::V4); $response = $client->request->telephonyCallsUpload( [ [ 'date' => '2016-07-22 00:18:00', 'type' => 'in', 'phone' => '+79999999999', 'code' => '101', 'result' => 'answered', 'externalId' => rand(10, 100), 'recordUrl' => 'http://download.retailcrm.pro/api-client-files/beep1.mp3' ], [ 'date' => '2016-07-22 00:24:00', 'type' => 'in', 'phone' => '+79999999999', 'code' => '101', 'result' => 'answered', 'externalId' => rand(10, 100), 'recordUrl' => 'http://download.retailcrm.pro/api-client-files/beep2.mp3' ] ] ); static::assertInstanceOf('RetailCrm\Response\ApiResponse', $response); static::assertEquals(200, $response->getStatusCode()); static::assertTrue($response->isSuccessful()); } /** * Manager test * * @group telephony * * @return void */ public function testTelephonyManager() { self::markTestSkipped('Should be fixed.'); $client = static::getApiClient(null, null, ApiClient::V4); $response = $client->request->telephonyCallManager('+79999999999', 1); static::assertInstanceOf('RetailCrm\Response\ApiResponse', $response); static::assertEquals(200, $response->getStatusCode()); static::assertTrue($response->isSuccessful()); } }