You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-22 15:12:49 +03:00
64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
"use strict";
|
|
var sdk = require("../..");
|
|
var RoomMember = sdk.RoomMember;
|
|
var MatrixEvent = sdk.MatrixEvent;
|
|
var utils = require("../test-utils");
|
|
|
|
describe("RoomMember", function() {
|
|
var roomId = "!foo:bar";
|
|
var userA = "@alice:bar";
|
|
var userB = "@bertha:bar";
|
|
var userC = "@clarissa:bar";
|
|
var member;
|
|
|
|
beforeEach(function() {
|
|
utils.beforeEach(this);
|
|
member = new RoomMember(roomId, userA);
|
|
});
|
|
|
|
it("setPowerLevelEvent should set 'powerLevel' and 'powerLevelNorm'.",
|
|
function() {
|
|
var event = new MatrixEvent(
|
|
utils.mkEvent("m.room.power_levels", roomId, userA, {
|
|
users_default: 20,
|
|
users: {
|
|
"@bertha:bar": 200,
|
|
"@invalid:user": 10 // shouldn't barf on this.
|
|
}
|
|
})
|
|
);
|
|
member.setPowerLevelEvent(event);
|
|
expect(member.powerLevel).toEqual(20);
|
|
expect(member.powerLevelNorm).toEqual(10);
|
|
|
|
var memberB = new RoomMember(roomId, userB);
|
|
memberB.setPowerLevelEvent(event);
|
|
expect(memberB.powerLevel).toEqual(200);
|
|
expect(memberB.powerLevelNorm).toEqual(100);
|
|
});
|
|
|
|
it("setTypingEvent should set 'typing'", function() {
|
|
member.typing = false;
|
|
var memberB = new RoomMember(roomId, userB);
|
|
memberB.typing = true;
|
|
var memberC = new RoomMember(roomId, userC);
|
|
memberC.typing = true;
|
|
|
|
var event = new MatrixEvent(
|
|
utils.mkEvent("m.typing", roomId, userA, {
|
|
user_ids: [
|
|
userA, userC
|
|
]
|
|
})
|
|
);
|
|
member.setTypingEvent(event);
|
|
memberB.setTypingEvent(event);
|
|
memberC.setTypingEvent(event);
|
|
|
|
expect(member.typing).toEqual(true);
|
|
expect(memberB.typing).toEqual(false);
|
|
expect(memberC.typing).toEqual(true);
|
|
});
|
|
|
|
});
|