diff --git a/spec/integ/matrix-client.spec.js b/spec/integ/matrix-client.spec.js index 1dbcafe53..255c260bd 100644 --- a/spec/integ/matrix-client.spec.js +++ b/spec/integ/matrix-client.spec.js @@ -82,7 +82,9 @@ describe("MatrixClient", function() { start: "s", end: "t", chunk: [ - utils.mkMessage("!erufh:bar", "@foo:bar", "hmmm") + utils.mkMessage({ + room: "!erufh:bar", user: "@foo:bar", msg: "hmmm" + }) ] }, state: [ @@ -97,8 +99,12 @@ describe("MatrixClient", function() { start: "s_5_3", end: "e_6_7", chunk: [ - utils.mkMessage("!erufh:bar", "@foo:bar", "ello ello"), - utils.mkMessage("!erufh:bar", "@foo:bar", ":D"), + utils.mkMessage({ + room: "!erufh:bar", user: "@foo:bar", msg: "ello ello" + }), + utils.mkMessage({ + room: "!erufh:bar", user: "@foo:bar", msg: ":D" + }), utils.mkEvent("m.typing", "!erufh:bar", "bar", { user_ids: ["@foo:bar"] }) @@ -315,7 +321,9 @@ describe("MatrixClient", function() { start: "f_1_1", end: "f_2_2", chunk: [ - utils.mkMessage(roomOne, otherUserId, "hello") + utils.mkMessage({ + room: roomOne, user: otherUserId, msg: "hello" + }) ] }, state: [ @@ -342,7 +350,9 @@ describe("MatrixClient", function() { start: "f_1_1", end: "f_2_2", chunk: [ - utils.mkMessage(roomTwo, otherUserId, "hiii") + utils.mkMessage({ + room: roomTwo, user: otherUserId, msg: "hiii" + }) ] }, state: [ @@ -367,7 +377,9 @@ describe("MatrixClient", function() { utils.mkEvent("m.room.name", roomOne, selfUserId, { name: "A new room name" }), - utils.mkMessage(roomTwo, otherUserId, msgText), + utils.mkMessage({ + room: roomTwo, user: otherUserId, msg: msgText + }), utils.mkEvent("m.typing", roomTwo, undefined, { user_ids: [otherUserId] }) diff --git a/spec/test-utils.js b/spec/test-utils.js index 2362aa7c9..22e9eaceb 100644 --- a/spec/test-utils.js +++ b/spec/test-utils.js @@ -1,4 +1,6 @@ "use strict"; +var sdk = require(".."); +var MatrixEvent = sdk.MatrixEvent; /** * Perform common actions before each test case, e.g. printing the test case @@ -92,17 +94,28 @@ module.exports.mkMembership = function(room, membership, userId, otherUserId, /** * Create an m.room.message POJO. - * @param {string} room The room ID for the event. - * @param {string} userId The user ID for the event. - * @param {string} msg The content.body for the event. + * @param {Object} opts Values for the message + * @param {string} opts.room The room ID for the event. + * @param {string} opts.user The user ID for the event. + * @param {string} opts.msg Optional. The content.body for the event. + * @param {boolean} opts.event True to make a MatrixEvent. * @return {Object} The event */ -module.exports.mkMessage = function(room, userId, msg) { - if (!msg) { - msg = "Random->" + Math.random(); +module.exports.mkMessage = function(opts) { + if (!opts.msg) { + opts.msg = "Random->" + Math.random(); } - return module.exports.mkEvent("m.room.message", room, userId, { + if (!opts.room || !opts.user) { + throw new Error("Missing .room or .user from %s", opts); + } + opts.type = "m.room.message"; + opts.content = { msgtype: "m.text", - body: msg - }); + body: opts.msg + }; + //var pojo = module.exports.mkEvent(opts); + var pojo = module.exports.mkEvent( + opts.type, opts.room, opts.user, opts.content + ); + return opts.event ? new MatrixEvent(pojo) : pojo; }; diff --git a/spec/unit/room.spec.js b/spec/unit/room.spec.js index 19aa35bc3..be6716160 100644 --- a/spec/unit/room.spec.js +++ b/spec/unit/room.spec.js @@ -42,7 +42,9 @@ describe("Room", function() { describe("addEventsToTimeline", function() { var events = [ - new MatrixEvent(utils.mkMessage(roomId, userA, "changing room name")), + utils.mkMessage({ + room: roomId, user: userA, msg: "changing room name", event: true + }), new MatrixEvent(utils.mkEvent("m.room.name", roomId, userA, { name: "New Room Name" }))