Prepare for repo merge
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
0f670b8dc0
commit
b084ff2313
807 changed files with 0 additions and 0 deletions
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
Copyright 2024 New Vector Ltd.
|
||||
Copyright 2022 The Matrix.org Foundation C.I.C.
|
||||
Copyright 2016 OpenMarket Ltd
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
import { TweakName, PushRuleActionName, TweakHighlight, TweakSound } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { ContentRules, PushRuleVectorState } from "../../src/notifications";
|
||||
|
||||
const NORMAL_RULE = {
|
||||
actions: [PushRuleActionName.Notify, { set_tweak: TweakName.Highlight, value: false } as TweakHighlight],
|
||||
default: false,
|
||||
enabled: true,
|
||||
pattern: "vdh2",
|
||||
rule_id: "vdh2",
|
||||
};
|
||||
|
||||
const LOUD_RULE = {
|
||||
actions: [
|
||||
PushRuleActionName.Notify,
|
||||
{ set_tweak: TweakName.Highlight } as TweakHighlight,
|
||||
{ set_tweak: TweakName.Sound, value: "default" } as TweakSound,
|
||||
],
|
||||
default: false,
|
||||
enabled: true,
|
||||
pattern: "vdh2",
|
||||
rule_id: "vdh2",
|
||||
};
|
||||
|
||||
const USERNAME_RULE = {
|
||||
actions: [
|
||||
PushRuleActionName.Notify,
|
||||
{ set_tweak: TweakName.Sound, value: "default" } as TweakSound,
|
||||
{ set_tweak: TweakName.Highlight } as TweakHighlight,
|
||||
],
|
||||
default: true,
|
||||
enabled: true,
|
||||
pattern: "richvdh",
|
||||
rule_id: ".m.rule.contains_user_name",
|
||||
};
|
||||
|
||||
describe("ContentRules", function () {
|
||||
describe("parseContentRules", function () {
|
||||
it("should handle there being no keyword rules", function () {
|
||||
const rules = { global: { content: [USERNAME_RULE] } };
|
||||
const parsed = ContentRules.parseContentRules(rules);
|
||||
expect(parsed.rules).toEqual([]);
|
||||
expect(parsed.vectorState).toEqual(PushRuleVectorState.ON);
|
||||
expect(parsed.externalRules).toEqual([]);
|
||||
});
|
||||
|
||||
it("should parse regular keyword notifications", function () {
|
||||
const rules = { global: { content: [NORMAL_RULE, USERNAME_RULE] } };
|
||||
|
||||
const parsed = ContentRules.parseContentRules(rules);
|
||||
expect(parsed.rules.length).toEqual(1);
|
||||
expect(parsed.rules[0]).toEqual(NORMAL_RULE);
|
||||
expect(parsed.vectorState).toEqual(PushRuleVectorState.ON);
|
||||
expect(parsed.externalRules).toEqual([]);
|
||||
});
|
||||
|
||||
it("should parse loud keyword notifications", function () {
|
||||
const rules = { global: { content: [LOUD_RULE, USERNAME_RULE] } };
|
||||
|
||||
const parsed = ContentRules.parseContentRules(rules);
|
||||
expect(parsed.rules.length).toEqual(1);
|
||||
expect(parsed.rules[0]).toEqual(LOUD_RULE);
|
||||
expect(parsed.vectorState).toEqual(PushRuleVectorState.LOUD);
|
||||
expect(parsed.externalRules).toEqual([]);
|
||||
});
|
||||
|
||||
it("should parse mixed keyword notifications", function () {
|
||||
const rules = { global: { content: [LOUD_RULE, NORMAL_RULE, USERNAME_RULE] } };
|
||||
|
||||
const parsed = ContentRules.parseContentRules(rules);
|
||||
expect(parsed.rules.length).toEqual(1);
|
||||
expect(parsed.rules[0]).toEqual(LOUD_RULE);
|
||||
expect(parsed.vectorState).toEqual(PushRuleVectorState.LOUD);
|
||||
expect(parsed.externalRules.length).toEqual(1);
|
||||
expect(parsed.externalRules[0]).toEqual(NORMAL_RULE);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue