From 9eef717f86f2bd0ded52ea09b256e24d288c3d7b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:29:39 +0000 Subject: [PATCH 1/3] Initial plan From 945bf655289da8b3f71865c1a1321bea902fc932 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:50:42 +0000 Subject: [PATCH 2/3] Fix TypeError when payload is null in Taskrouter Context classes Co-authored-by: tiwarishubham635 <59199353+tiwarishubham635@users.noreply.github.com> --- .../Taskrouter/V1/Workspace/TaskContext.php | 4 +- .../Taskrouter/V1/Workspace/WorkerContext.php | 4 +- .../V1/Workspace/WorkflowContext.php | 4 +- .../V1/Workspace/TaskContextTest.php | 52 +++++++++++++++++++ 4 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 tests/Twilio/Unit/Rest/Taskrouter/V1/Workspace/TaskContextTest.php diff --git a/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskContext.php b/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskContext.php index 8bceab0b9..7b8ec5288 100644 --- a/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskContext.php +++ b/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskContext.php @@ -93,7 +93,7 @@ public function fetch(): TaskInstance return new TaskInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); @@ -132,7 +132,7 @@ public function update(array $options = []): TaskInstance return new TaskInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); diff --git a/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkerContext.php b/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkerContext.php index 31a74ee94..1188769f1 100644 --- a/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkerContext.php +++ b/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkerContext.php @@ -109,7 +109,7 @@ public function fetch(): WorkerInstance return new WorkerInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); @@ -144,7 +144,7 @@ public function update(array $options = []): WorkerInstance return new WorkerInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); diff --git a/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkflowContext.php b/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkflowContext.php index 3a0075763..29e513b7c 100644 --- a/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkflowContext.php +++ b/src/Twilio/Rest/Taskrouter/V1/Workspace/WorkflowContext.php @@ -97,7 +97,7 @@ public function fetch(): WorkflowInstance return new WorkflowInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); @@ -136,7 +136,7 @@ public function update(array $options = []): WorkflowInstance return new WorkflowInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); diff --git a/tests/Twilio/Unit/Rest/Taskrouter/V1/Workspace/TaskContextTest.php b/tests/Twilio/Unit/Rest/Taskrouter/V1/Workspace/TaskContextTest.php new file mode 100644 index 000000000..728d5b358 --- /dev/null +++ b/tests/Twilio/Unit/Rest/Taskrouter/V1/Workspace/TaskContextTest.php @@ -0,0 +1,52 @@ +holodeck->mock(new Response(200, null, [])); + + $actual = $this->twilio->taskrouter->v1->workspaces("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->tasks("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->fetch(); + + $this->assertInstanceOf(TaskInstance::class, $actual); + } + + public function testUpdateWithNullPayload(): void { + $this->holodeck->mock(new Response(200, null, [])); + + $actual = $this->twilio->taskrouter->v1->workspaces("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->tasks("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->update(['attributes' => 'test']); + + $this->assertInstanceOf(TaskInstance::class, $actual); + } + + public function testFetchWithInvalidJsonPayload(): void { + $this->holodeck->mock(new Response(200, 'invalid json', [])); + + $actual = $this->twilio->taskrouter->v1->workspaces("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->tasks("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->fetch(); + + $this->assertInstanceOf(TaskInstance::class, $actual); + } + + public function testUpdateWithInvalidJsonPayload(): void { + $this->holodeck->mock(new Response(200, 'invalid json', [])); + + $actual = $this->twilio->taskrouter->v1->workspaces("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->tasks("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + ->update(['attributes' => 'test']); + + $this->assertInstanceOf(TaskInstance::class, $actual); + } +} \ No newline at end of file From 5fdbaf10904cb0efbc466b951dd0aa3301d7fa8f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:55:53 +0000 Subject: [PATCH 3/3] Fix null payload TypeError in ActivityContext and TaskQueueContext Co-authored-by: tiwarishubham635 <59199353+tiwarishubham635@users.noreply.github.com> --- src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityContext.php | 4 ++-- src/Twilio/Rest/Taskrouter/V1/Workspace/TaskQueueContext.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityContext.php b/src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityContext.php index f3209d84d..e2cd46260 100644 --- a/src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityContext.php +++ b/src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityContext.php @@ -81,7 +81,7 @@ public function fetch(): ActivityInstance return new ActivityInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); @@ -110,7 +110,7 @@ public function update(array $options = []): ActivityInstance return new ActivityInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); diff --git a/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskQueueContext.php b/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskQueueContext.php index 2b5c311d3..cc1860ab8 100644 --- a/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskQueueContext.php +++ b/src/Twilio/Rest/Taskrouter/V1/Workspace/TaskQueueContext.php @@ -97,7 +97,7 @@ public function fetch(): TaskQueueInstance return new TaskQueueInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] ); @@ -136,7 +136,7 @@ public function update(array $options = []): TaskQueueInstance return new TaskQueueInstance( $this->version, - $payload, + $payload ?? [], $this->solution['workspaceSid'], $this->solution['sid'] );