diff --git a/test/UserActivity-test.js b/test/UserActivity-test.ts similarity index 100% rename from test/UserActivity-test.js rename to test/UserActivity-test.ts diff --git a/test/autocomplete/QueryMatcher-test.js b/test/autocomplete/QueryMatcher-test.ts similarity index 100% rename from test/autocomplete/QueryMatcher-test.js rename to test/autocomplete/QueryMatcher-test.ts diff --git a/test/notifications/ContentRules-test.js b/test/notifications/ContentRules-test.ts similarity index 81% rename from test/notifications/ContentRules-test.js rename to test/notifications/ContentRules-test.ts index 2b18a18488..9881a1c149 100644 --- a/test/notifications/ContentRules-test.js +++ b/test/notifications/ContentRules-test.ts @@ -1,5 +1,6 @@ /* Copyright 2016 OpenMarket Ltd +Copyright 2022 The Matrix.org Foundation C.I.C. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,16 +15,16 @@ See the License for the specific language governing permissions and limitations under the License. */ -const notifications = require('../../src/notifications'); +import { TweakName, PushRuleActionName, TweakHighlight, TweakSound } from "matrix-js-sdk/src/matrix"; -const ContentRules = notifications.ContentRules; -const PushRuleVectorState = notifications.PushRuleVectorState; +import { ContentRules, PushRuleVectorState } from "../../src/notifications"; const NORMAL_RULE = { actions: [ - "notify", - { set_tweak: "highlight", value: false }, + PushRuleActionName.Notify, + { set_tweak: TweakName.Highlight, value: false } as TweakHighlight, ], + default: false, enabled: true, pattern: "vdh2", rule_id: "vdh2", @@ -31,10 +32,11 @@ const NORMAL_RULE = { const LOUD_RULE = { actions: [ - "notify", - { set_tweak: "highlight" }, - { set_tweak: "sound", value: "default" }, + 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", @@ -42,9 +44,9 @@ const LOUD_RULE = { const USERNAME_RULE = { actions: [ - "notify", - { set_tweak: "sound", value: "default" }, - { set_tweak: "highlight" }, + PushRuleActionName.Notify, + { set_tweak: TweakName.Sound, value: "default" } as TweakSound, + { set_tweak: TweakName.Highlight } as TweakHighlight, ], default: true, enabled: true, diff --git a/test/notifications/PushRuleVectorState-test.js b/test/notifications/PushRuleVectorState-test.js deleted file mode 100644 index 1127675791..0000000000 --- a/test/notifications/PushRuleVectorState-test.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2016 OpenMarket Ltd - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -const notifications = require('../../src/notifications'); - -const prvs = notifications.PushRuleVectorState; - -describe("PushRuleVectorState", function() { - describe("contentRuleVectorStateKind", function() { - it("should understand normal notifications", function() { - const rule = { - actions: [ - "notify", - ], - }; - - expect(prvs.contentRuleVectorStateKind(rule)). - toEqual(prvs.ON); - }); - - it("should handle loud notifications", function() { - const rule = { - actions: [ - "notify", - { set_tweak: "highlight", value: true }, - { set_tweak: "sound", value: "default" }, - ], - }; - - expect(prvs.contentRuleVectorStateKind(rule)). - toEqual(prvs.LOUD); - }); - - it("should understand missing highlight.value", function() { - const rule = { - actions: [ - "notify", - { set_tweak: "highlight" }, - { set_tweak: "sound", value: "default" }, - ], - }; - - expect(prvs.contentRuleVectorStateKind(rule)). - toEqual(prvs.LOUD); - }); - }); -}); diff --git a/test/notifications/PushRuleVectorState-test.ts b/test/notifications/PushRuleVectorState-test.ts new file mode 100644 index 0000000000..031944b84c --- /dev/null +++ b/test/notifications/PushRuleVectorState-test.ts @@ -0,0 +1,75 @@ +/* +Copyright 2016 OpenMarket Ltd +Copyright 2022 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { + PushRuleActionName, + TweakHighlight, + TweakName, + TweakSound, +} from "matrix-js-sdk/src/matrix"; + +import { PushRuleVectorState } from "../../src/notifications"; + +describe("PushRuleVectorState", function() { + describe("contentRuleVectorStateKind", function() { + it("should understand normal notifications", function() { + const rule = { + actions: [ + PushRuleActionName.Notify, + ], + default: false, + enabled: false, + rule_id: '1', + }; + + expect(PushRuleVectorState.contentRuleVectorStateKind(rule)). + toEqual(PushRuleVectorState.ON); + }); + + it("should handle loud notifications", function() { + const rule = { + actions: [ + PushRuleActionName.Notify, + { set_tweak: TweakName.Highlight, value: true } as TweakHighlight, + { set_tweak: TweakName.Sound, value: "default" } as TweakSound, + ], + default: false, + enabled: false, + rule_id: '1', + }; + + expect(PushRuleVectorState.contentRuleVectorStateKind(rule)). + toEqual(PushRuleVectorState.LOUD); + }); + + it("should understand missing highlight.value", function() { + const rule = { + actions: [ + PushRuleActionName.Notify, + { set_tweak: TweakName.Highlight } as TweakHighlight, + { set_tweak: TweakName.Sound, value: "default" } as TweakSound, + ], + default: false, + enabled: false, + rule_id: '1', + }; + + expect(PushRuleVectorState.contentRuleVectorStateKind(rule)). + toEqual(PushRuleVectorState.LOUD); + }); + }); +});