1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-08-09 10:22:46 +03:00
Files
matrix-js-sdk/spec/unit/user.spec.js
Kerry 57d71ccd0f Move test-utils into a directory (#2236)
* move test-utils.js into directory

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix imports

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-14 14:55:11 +01:00

82 lines
2.6 KiB
JavaScript

import { User } from "../../src/models/user";
import * as utils from "../test-utils/test-utils";
describe("User", function() {
const userId = "@alice:bar";
let user;
beforeEach(function() {
user = new User(userId);
});
describe("setPresenceEvent", function() {
const event = utils.mkEvent({
type: "m.presence", content: {
presence: "online",
user_id: userId,
displayname: "Alice",
last_active_ago: 1085,
avatar_url: "mxc://foo/bar",
}, event: true,
});
it("should emit 'User.displayName' if the display name changes", function() {
let emitCount = 0;
user.on("User.displayName", function(ev, usr) {
emitCount += 1;
});
user.setPresenceEvent(event);
expect(emitCount).toEqual(1);
user.setPresenceEvent(event); // no-op
expect(emitCount).toEqual(1);
});
it("should emit 'User.avatarUrl' if the avatar URL changes", function() {
let emitCount = 0;
user.on("User.avatarUrl", function(ev, usr) {
emitCount += 1;
});
user.setPresenceEvent(event);
expect(emitCount).toEqual(1);
user.setPresenceEvent(event); // no-op
expect(emitCount).toEqual(1);
});
it("should emit 'User.presence' if the presence changes", function() {
let emitCount = 0;
user.on("User.presence", function(ev, usr) {
emitCount += 1;
});
user.setPresenceEvent(event);
expect(emitCount).toEqual(1);
user.setPresenceEvent(event); // no-op
expect(emitCount).toEqual(1);
});
it("should set User.displayName", function() {
user.setPresenceEvent(event);
expect(user.displayName).toEqual("Alice");
});
it("should set User.avatarUrl", function() {
user.setPresenceEvent(event);
expect(user.avatarUrl).toEqual("mxc://foo/bar");
});
it("should set User.presence", function() {
user.setPresenceEvent(event);
expect(user.presence).toEqual("online");
});
it("should set User.lastActiveAgo", function() {
user.setPresenceEvent(event);
expect(user.lastActiveAgo).toEqual(1085);
});
it("should set User.events.presence", function() {
user.setPresenceEvent(event);
expect(user.events.presence).toEqual(event);
});
});
});