diff options
author | LEDfan <tobia@ledfan.be> | 2016-01-22 12:39:19 +0300 |
---|---|---|
committer | LEDfan <tobia@ledfan.be> | 2016-01-22 12:39:19 +0300 |
commit | e34ab773ab0442f64ae81b6dcf45f492adf12310 (patch) | |
tree | e6a36b2a9041a9e2e47a30ba5ff368a657bfd402 /tests/unit | |
parent | 3d82f01edc21823a4902d79341bc17d0e077a07b (diff) |
add message test
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/stanzahandlers/IQTest.php | 1 | ||||
-rw-r--r-- | tests/unit/stanzahandlers/MessageTest.php | 90 |
2 files changed, 91 insertions, 0 deletions
diff --git a/tests/unit/stanzahandlers/IQTest.php b/tests/unit/stanzahandlers/IQTest.php index 9d06856..9fddef2 100644 --- a/tests/unit/stanzahandlers/IQTest.php +++ b/tests/unit/stanzahandlers/IQTest.php @@ -3,6 +3,7 @@ namespace OCA\OJSXC\StanzaHandlers; use OCA\OJSXC\Db\IQRoster; +use PHPUnit_Framework_MockObject_MockObject; use PHPUnit_Framework_TestCase; diff --git a/tests/unit/stanzahandlers/MessageTest.php b/tests/unit/stanzahandlers/MessageTest.php new file mode 100644 index 0000000..1ac3577 --- /dev/null +++ b/tests/unit/stanzahandlers/MessageTest.php @@ -0,0 +1,90 @@ +<?php + +namespace OCA\OJSXC\StanzaHandlers; + +use OCA\OJSXC\Db\Message as MessageEntity; +use PHPUnit_Framework_TestCase; +use PHPUnit_Framework_MockObject_MockObject; + +class MessageTest extends PHPUnit_Framework_TestCase { + + /** + * @var Message $message + */ + private $message; + + /** + * @var PHPUnit_Framework_MockObject_MockObject + */ + private $messageMapper; + + /** + * @var string userId + */ + private $userId; + + /** + * @var string $host ; + */ + private $host; + + public function setUp() { + $this->host = 'localhost'; + $this->userId = 'john'; + $this->messageMapper = $this->getMockBuilder('OCA\OJSXC\Db\MessageMapper')->disableOriginalConstructor()->getMock(); + $this->message = new Message($this->userId, $this->host, $this->messageMapper); + } + + public function messageProvider(){ + $values = [ + [ + "name" => "body", + "value" => 'abcèé³e¹³€{ë', + "attributes" => ["xmlns" => 'jabber:client'] + ], + [ + "name" => "request", + "value" => '', + "attributes" => ["xmlns" => 'urn:xmpp:receipts'] + ], + ]; + + $expected1 = new MessageEntity(); + $expected1->setTo('derp'); // hostname is stripped + $expected1->setFrom('john'); + $expected1->setValue($values); + $expected1->setType('chat'); + + return [ + [ + [ + 'name' => '{jabber:client}message', + 'value' => + [ + '{jabber:client}body' => 'abcèé³e¹³€{ë', + '{urn:xmpp:receipts}request' => null, + ], + 'attributes' => + [ + 'to' => 'derp@own.dev', + 'type' => 'chat', + ], + ], + $expected1 + ] + ]; + } + + /** + * @dataProvider messageProvider + */ + public function testMessage(array $stanza, $expected) { + $this->messageMapper->expects($this->once()) + ->method('insert') + ->with($expected); + + $this->message->handle($stanza); + + } + +} |