瀏覽代碼

Move tests to separate file

JC Brand 3 年之前
父節點
當前提交
7f2ab05f97
共有 3 個文件被更改,包括 73 次插入72 次删除
  1. 1 0
      karma.conf.js
  2. 72 0
      src/plugins/muc-views/tests/info-messages.js
  3. 0 72
      src/plugins/muc-views/tests/muc-messages.js

+ 1 - 0
karma.conf.js

@@ -69,6 +69,7 @@ module.exports = function(config) {
       { pattern: "src/plugins/muc-views/tests/emojis.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/http-file-upload.js", type: 'module' },
+      { pattern: "src/plugins/muc-views/tests/info-messages.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/markers.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/me-messages.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/mentions.js", type: 'module' },

+ 72 - 0
src/plugins/muc-views/tests/info-messages.js

@@ -0,0 +1,72 @@
+/*global mock, converse */
+
+const u = converse.env.utils;
+
+describe("an info message", function () {
+
+    it("is not rendered as a followup message",
+            mock.initConverse(['chatBoxesFetched'], {}, async function (_converse) {
+
+        const muc_jid = 'lounge@montague.lit';
+        const nick = 'romeo';
+        await mock.openAndEnterChatRoom(_converse, muc_jid, nick);
+        const view = _converse.chatboxviews.get(muc_jid);
+        let presence = u.toStanza(`
+            <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo">
+                <x xmlns="http://jabber.org/protocol/muc#user">
+                    <status code="201"/>
+                    <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
+                    <status code="110"/>
+                </x>
+            </presence>
+        `);
+        _converse.connection._dataRecv(mock.createRequest(presence));
+        await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 1);
+
+        presence = u.toStanza(`
+            <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo1">
+                <x xmlns="http://jabber.org/protocol/muc#user">
+                    <status code="210"/>
+                    <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
+                    <status code="110"/>
+                </x>
+            </presence>
+        `);
+        _converse.connection._dataRecv(mock.createRequest(presence));
+        await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 2);
+
+        const messages = view.querySelectorAll('.chat-info');
+        expect(u.hasClass('chat-msg--followup', messages[0])).toBe(false);
+        expect(u.hasClass('chat-msg--followup', messages[1])).toBe(false);
+    }));
+
+    it("is not shown if its a duplicate",
+            mock.initConverse(['chatBoxesFetched'], {}, async function (_converse) {
+
+        const muc_jid = 'lounge@montague.lit';
+        await mock.openAndEnterChatRoom(_converse, muc_jid, 'romeo');
+        const view = _converse.chatboxviews.get(muc_jid);
+        const presence = u.toStanza(`
+            <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo">
+                <x xmlns="http://jabber.org/protocol/muc#user">
+                    <status code="201"/>
+                    <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
+                    <status code="110"/>
+                </x>
+            </presence>
+        `);
+        // XXX: We wait for createInfoMessages to complete, if we don't
+        // we still get two info messages due to messages
+        // created from presences not being queued and run
+        // sequentially (i.e. by waiting for promises to resolve)
+        // like we do with message stanzas.
+        spyOn(view.model, 'createInfoMessages').and.callThrough();
+        _converse.connection._dataRecv(mock.createRequest(presence));
+        await u.waitUntil(() => view.model.createInfoMessages.calls.count());
+        await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 1);
+
+        _converse.connection._dataRecv(mock.createRequest(presence));
+        await u.waitUntil(() => view.model.createInfoMessages.calls.count() === 2);
+        expect(view.querySelectorAll('.chat-info').length).toBe(1);
+    }));
+});

+ 0 - 72
src/plugins/muc-views/tests/muc-messages.js

@@ -51,77 +51,6 @@ describe("A Groupchat Message", function () {
         }));
     });
 
-
-    describe("an info message", function () {
-
-        it("is not rendered as a followup message",
-                mock.initConverse(['chatBoxesFetched'], {}, async function (_converse) {
-
-            const muc_jid = 'lounge@montague.lit';
-            const nick = 'romeo';
-            await mock.openAndEnterChatRoom(_converse, muc_jid, nick);
-            const view = _converse.chatboxviews.get(muc_jid);
-            let presence = u.toStanza(`
-                <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo">
-                    <x xmlns="http://jabber.org/protocol/muc#user">
-                        <status code="201"/>
-                        <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
-                        <status code="110"/>
-                    </x>
-                </presence>
-            `);
-            _converse.connection._dataRecv(mock.createRequest(presence));
-            await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 1);
-
-            presence = u.toStanza(`
-                <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo1">
-                    <x xmlns="http://jabber.org/protocol/muc#user">
-                        <status code="210"/>
-                        <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
-                        <status code="110"/>
-                    </x>
-                </presence>
-            `);
-            _converse.connection._dataRecv(mock.createRequest(presence));
-            await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 2);
-
-            const messages = view.querySelectorAll('.chat-info');
-            expect(u.hasClass('chat-msg--followup', messages[0])).toBe(false);
-            expect(u.hasClass('chat-msg--followup', messages[1])).toBe(false);
-        }));
-
-        it("is not shown if its a duplicate",
-                mock.initConverse(['chatBoxesFetched'], {}, async function (_converse) {
-
-            const muc_jid = 'lounge@montague.lit';
-            await mock.openAndEnterChatRoom(_converse, muc_jid, 'romeo');
-            const view = _converse.chatboxviews.get(muc_jid);
-            const presence = u.toStanza(`
-                <presence xmlns="jabber:client" to="${_converse.jid}" from="${muc_jid}/romeo">
-                    <x xmlns="http://jabber.org/protocol/muc#user">
-                        <status code="201"/>
-                        <item role="moderator" affiliation="owner" jid="${_converse.jid}"/>
-                        <status code="110"/>
-                    </x>
-                </presence>
-            `);
-            // XXX: We wait for createInfoMessages to complete, if we don't
-            // we still get two info messages due to messages
-            // created from presences not being queued and run
-            // sequentially (i.e. by waiting for promises to resolve)
-            // like we do with message stanzas.
-            spyOn(view.model, 'createInfoMessages').and.callThrough();
-            _converse.connection._dataRecv(mock.createRequest(presence));
-            await u.waitUntil(() => view.model.createInfoMessages.calls.count());
-            await u.waitUntil(() => view.querySelectorAll('.chat-info').length === 1);
-
-            _converse.connection._dataRecv(mock.createRequest(presence));
-            await u.waitUntil(() => view.model.createInfoMessages.calls.count() === 2);
-            expect(view.querySelectorAll('.chat-info').length).toBe(1);
-        }));
-    });
-
-
     it("is rejected if it's an unencapsulated forwarded message",
             mock.initConverse(['chatBoxesFetched'], {}, async function (_converse) {
 
@@ -475,7 +404,6 @@ describe("A Groupchat Message", function () {
         expect(view.model.occupants._events.add.length).toBe(add_events);
     }));
 
-
     it("keeps track whether you are the sender or not",
             mock.initConverse([], {}, async function (_converse) {