You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-28 05:03:59 +03:00
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
import { UNREAD_THREAD_NOTIFICATIONS } from "../../src/@types/sync";
|
|
import { Filter, IFilterDefinition } from "../../src/filter";
|
|
|
|
describe("Filter", function() {
|
|
const filterId = "f1lt3ring15g00d4ursoul";
|
|
const userId = "@sir_arthur_david:humming.tiger";
|
|
let filter: Filter;
|
|
|
|
beforeEach(function() {
|
|
filter = new Filter(userId);
|
|
});
|
|
|
|
describe("fromJson", function() {
|
|
it("create a new Filter from the provided values", function() {
|
|
const definition = {
|
|
event_fields: ["type", "content"],
|
|
};
|
|
const f = Filter.fromJson(userId, filterId, definition);
|
|
expect(f.getDefinition()).toEqual(definition);
|
|
expect(f.userId).toEqual(userId);
|
|
expect(f.filterId).toEqual(filterId);
|
|
});
|
|
});
|
|
|
|
describe("setTimelineLimit", function() {
|
|
it("should set room.timeline.limit of the filter definition", function() {
|
|
filter.setTimelineLimit(10);
|
|
expect(filter.getDefinition()).toEqual({
|
|
room: {
|
|
timeline: {
|
|
limit: 10,
|
|
},
|
|
},
|
|
});
|
|
});
|
|
});
|
|
|
|
describe("setDefinition/getDefinition", function() {
|
|
it("should set and get the filter body", function() {
|
|
const definition = {
|
|
event_format: "client" as IFilterDefinition['event_format'],
|
|
};
|
|
filter.setDefinition(definition);
|
|
expect(filter.getDefinition()).toEqual(definition);
|
|
});
|
|
});
|
|
|
|
describe("setUnreadThreadNotifications", function() {
|
|
it("setUnreadThreadNotifications", function() {
|
|
filter.setUnreadThreadNotifications(true);
|
|
expect(filter.getDefinition()).toEqual({
|
|
room: {
|
|
timeline: {
|
|
[UNREAD_THREAD_NOTIFICATIONS.name]: true,
|
|
},
|
|
},
|
|
});
|
|
});
|
|
});
|
|
});
|