Make sure user mention events are serialized before to push in queue

This commit is contained in:
Frederic Guillot 2016-12-04 18:43:53 -05:00
parent 3384ba49fa
commit 6d2bd7383a
No known key found for this signature in database
GPG Key ID: 92D77191BA7FBC99
2 changed files with 5 additions and 4 deletions

View File

@ -23,7 +23,7 @@ class UserMentionJob extends BaseJob
*/
public function withParams($text, $eventName, GenericEvent $event)
{
$this->jobParams = array($text, $eventName, $event);
$this->jobParams = array($text, $eventName, $event->getAll());
return $this;
}
@ -32,10 +32,11 @@ class UserMentionJob extends BaseJob
*
* @param string $text
* @param string $eventName
* @param GenericEvent $event
* @param array $eventData
*/
public function execute($text, $eventName, GenericEvent $event)
public function execute($text, $eventName, array $eventData)
{
$event = new GenericEvent($eventData);
$users = $this->getMentionedUsers($text);
foreach ($users as $user) {

View File

@ -90,7 +90,7 @@ class UserMentionJobTest extends Base
$this->container['dispatcher']->addListener(TaskModel::EVENT_USER_MENTION, array($this, 'onUserMention'));
$userMentionJob->execute('test @user1 @user2', TaskModel::EVENT_USER_MENTION, $event);
$userMentionJob->execute('test @user1 @user2', TaskModel::EVENT_USER_MENTION, $event->getAll());
$called = $this->container['dispatcher']->getCalledListeners();
$this->assertArrayHasKey(TaskModel::EVENT_USER_MENTION.'.UserMentionJobTest::onUserMention', $called);