Skip to content

Commit d22dae5

Browse files
committed
Pass by reference
1 parent ad15ef8 commit d22dae5

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

src/WebDriver.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class WebDriver extends HttpDriver
2626
/** @var string */
2727
protected $errorMessage = '';
2828

29+
/** @var array */
30+
protected $messages = [];
31+
2932
/**
3033
* @param Request $request
3134
*/
@@ -71,10 +74,13 @@ public function getConversationAnswer(IncomingMessage $message)
7174
*/
7275
public function getMessages()
7376
{
74-
$message = $this->event->get('message');
75-
$userId = $this->event->get('userId');
77+
if (empty($this->messages)) {
78+
$message = $this->event->get('message');
79+
$userId = $this->event->get('userId');
80+
$this->messages = [new IncomingMessage($message, $userId, $userId, $this->payload)];
81+
}
7682

77-
return [new IncomingMessage($message, $userId, $userId, $this->payload)];
83+
return $this->messages;
7884
}
7985

8086
/**

tests/WebDriverTest.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,19 @@ public function it_returns_the_message_object()
8686
$this->assertTrue(is_array($driver->getMessages()));
8787
}
8888

89+
/** @test */
90+
public function it_returns_the_message_object_by_reference()
91+
{
92+
$driver = $this->getDriver([
93+
'driver' => 'web',
94+
'message' => 'Hi Julia',
95+
'userId' => '12345',
96+
]);
97+
$messages = $driver->getMessages();
98+
$hash = spl_object_hash($messages[0]);
99+
$this->assertSame($hash, spl_object_hash($driver->getMessages()[0]));
100+
}
101+
89102
/** @test */
90103
public function it_returns_the_message_text()
91104
{

0 commit comments

Comments
 (0)