expectException(\RuntimeException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(400, "incorrect dialog_id") ); $request = new DialogAssignRequest(); $request->setDialogId(-1); $client->dialogAssign($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogAssign() { $client = self::getApiClient( null, null, false, $this->getJsonResponse('dialogReassigned') ); $request = new DialogAssignRequest(); $request->setDialogId(60); $request->setUserId(4); $response = $client->dialogAssign($request); self::assertTrue($response->isSuccessful()); self::assertTrue($response->getIsReassign()); self::assertTrue($response->getPreviousResponsible() instanceof Responsible); self::assertTrue($response->getResponsible() instanceof Responsible); } /** * @group("dialogs") * @throws \Exception */ public function testDialogUnassignError() { $this->expectException(\RuntimeException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(400, "incorrect dialog_id") ); $client->dialogUnassign(-1); } /** * @group("dialogs") * @throws \Exception */ public function testDialogUnassign() { $client = self::getApiClient( null, null, false, $this->getJsonResponse('dialogUnassigned') ); $response = $client->dialogUnassign(60); self::assertTrue($response->isSuccessful()); self::assertTrue($response->getPreviousResponsible() instanceof Responsible); } /** * @group("dialogs") * @throws \Exception */ public function testDialogCloseError() { self::expectException(NotFoundException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(404, "dialog #2131231231 not found") ); $client->dialogClose('2131231231'); } /** * @group("dialogs") * @throws \Exception */ public function testDialogClose() { $client = self::getApiClient( null, null, false, $this->getResponse('{}') ); $response = $client->dialogClose('62'); self::assertInstanceOF(ErrorOnlyResponse::class, $response); self::assertTrue($response->isSuccessful()); self::assertEmpty($response->getErrors()); } /** * @group("dialogs") * @throws \Exception */ public function testDialogAddTagColorError() { $this->expectException(NotFoundException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(404, "'color_code can contain only the following values: " . "light-red; light-blue; light-green; light-orange; light-gray; " . "light-grayish-blue; red; blue; green; orange; gray; grayish-blue'" ) ); $tags[0] = new Tag(); $tags[0]->setName('tag1'); $tags[0]->setColorCode('qwerty'); $request = new DialogTagRequest(); $request->setDialogId(60); $request->setTags($tags); $client->dialogAddTag($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogAddTagDialogError() { $this->expectException(NotFoundException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(404, "dialog #123456789 not found") ); $tags[0] = new Tag(); $tags[0]->setName('tag1'); $request = new DialogTagRequest(); $request->setDialogId(123456789); $request->setTags($tags); $client->dialogAddTag($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogAddTagEmptyTagError() { $this->expectException(\TypeError::class); $client = self::getApiClient(); $tags[0] = new Tag(); $request = new DialogTagRequest(); $request->setDialogId(60); $request->setTags($tags); $client->dialogAddTag($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogAddTag() { $client = self::getApiClient( null, null, false, $this->getResponse('{}') ); $tags[0] = new Tag(); $tags[0]->setName('tag1'); $tags[0]->setColorCode('red'); $tags[1] = new Tag(); $tags[1]->setName('tag2'); $request = new DialogTagRequest(); $request->setDialogId(60); $request->setTags($tags); $response = $client->dialogAddTag($request); self::assertInstanceOF(ErrorOnlyResponse::class, $response); self::assertTrue($response->isSuccessful()); self::assertEmpty($response->getErrors()); } /** * @group("dialogs") * @throws \Exception */ public function testDialogDeleteTagDialogError() { $this->expectException(NotFoundException::class); $client = self::getApiClient( null, null, false, $this->getErrorsResponse(404, "dialog #123456789 not found") ); $tags[0] = new Tag(); $tags[0]->setName('tag1'); $request = new DialogTagRequest(); $request->setDialogId(123456789); $request->setTags($tags); $client->dialogAddTag($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogDeleteTagEmptyTagError() { $this->expectException(\TypeError::class); $client = self::getApiClient(); $tags[0] = new Tag(); $request = new DialogTagRequest(); $request->setTags($tags); $client->dialogDeleteTag($request); } /** * @group("dialogs") * @throws \Exception */ public function testDialogDeleteTag() { $client = self::getApiClient( null, null, false, $this->getResponse('{}') ); $tags[0] = new Tag(); $tags[0]->setName('tag1'); $request = new DialogTagRequest(); $request->setDialogId(60); $request->setTags($tags); $response = $client->dialogDeleteTag($request); self::assertInstanceOF(ErrorOnlyResponse::class, $response); self::assertTrue($response->isSuccessful()); self::assertEmpty($response->getErrors()); } }