Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/jsxc.nextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLEDfan <tobia@ledfan.be>2016-01-22 12:39:19 +0300
committerLEDfan <tobia@ledfan.be>2016-01-22 12:39:19 +0300
commite34ab773ab0442f64ae81b6dcf45f492adf12310 (patch)
treee6a36b2a9041a9e2e47a30ba5ff368a657bfd402 /tests/unit
parent3d82f01edc21823a4902d79341bc17d0e077a07b (diff)
add message test
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/stanzahandlers/IQTest.php1
-rw-r--r--tests/unit/stanzahandlers/MessageTest.php90
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);
+
+ }
+
+}