diff --git a/src/Appwrite/Event/Event.php b/src/Appwrite/Event/Event.php index 45b4405b9..f89b2e594 100644 --- a/src/Appwrite/Event/Event.php +++ b/src/Appwrite/Event/Event.php @@ -27,7 +27,7 @@ class Event * @param string $queue * @param string $class */ - public function __construct($queue, $class) + public function __construct(string $queue, string $class) { $this->queue = $queue; $this->class = $class; @@ -39,7 +39,7 @@ class Event * * @return $this */ - public function setParam($key, $value) + public function setParam(string $key, $value): self { $this->params[$key] = $value; @@ -51,7 +51,7 @@ class Event * * @return mixed|null */ - public function getParam($key) + public function getParam(string $key) { return (isset($this->params[$key])) ? $this->params[$key] : null; } @@ -59,8 +59,17 @@ class Event /** * Execute Event. */ - public function trigger() + public function trigger(): void { Resque::enqueue($this->queue, $this->class, $this->params); + + $this->reset(); + } + + public function reset(): self + { + $this->params = []; + + return $this; } } diff --git a/tests/unit/Event/EventTest.php b/tests/unit/Event/EventTest.php index 3a21838b6..3cacc75aa 100644 --- a/tests/unit/Event/EventTest.php +++ b/tests/unit/Event/EventTest.php @@ -46,4 +46,21 @@ class EventTest extends TestCase $this->assertEquals(null, $this->object->getParam('key3')); $this->assertEquals(\Resque::size($this->queue), 1); } + + public function testReset() + { + $this->object + ->setParam('key1', 'value1') + ->setParam('key2', 'value2') + ; + + $this->assertEquals('value1', $this->object->getParam('key1')); + $this->assertEquals('value2', $this->object->getParam('key2')); + + $this->object->reset(); + + $this->assertEquals(null, $this->object->getParam('key1')); + $this->assertEquals(null, $this->object->getParam('key2')); + $this->assertEquals(null, $this->object->getParam('key3')); + } } \ No newline at end of file