summaryrefslogtreecommitdiffstats
path: root/webapp/tests/utils/post_utils.test.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests/utils/post_utils.test.jsx')
-rw-r--r--webapp/tests/utils/post_utils.test.jsx97
1 files changed, 97 insertions, 0 deletions
diff --git a/webapp/tests/utils/post_utils.test.jsx b/webapp/tests/utils/post_utils.test.jsx
new file mode 100644
index 000000000..0546d5bea
--- /dev/null
+++ b/webapp/tests/utils/post_utils.test.jsx
@@ -0,0 +1,97 @@
+import * as PostUtils from 'utils/post_utils.jsx';
+
+describe('PostUtils.containsAtMention', function() {
+ test('should return correct @all (same for @channel)', function() {
+ for (const data of [
+ {
+ text: undefined, //eslint-disable-line no-undefined
+ key: undefined, //eslint-disable-line no-undefined
+ result: false
+ },
+ {
+ text: '',
+ key: '',
+ result: false
+ },
+ {
+ text: 'all',
+ key: '@all',
+ result: false
+ },
+ {
+ text: '@allison',
+ key: '@all',
+ result: false
+ },
+ {
+ text: '@ALLISON',
+ key: '@all',
+ result: false
+ },
+ {
+ text: '@all123',
+ key: '@all',
+ result: false
+ },
+ {
+ text: '123@all',
+ key: '@all',
+ result: false
+ },
+ {
+ text: 'hey@all',
+ key: '@all',
+ result: false
+ },
+ {
+ text: 'hey@all.com',
+ key: '@all',
+ result: false
+ },
+ {
+ text: '@all',
+ key: '@all',
+ result: true
+ },
+ {
+ text: '@ALL',
+ key: '@all',
+ result: true
+ },
+ {
+ text: '@all hey',
+ key: '@all',
+ result: true
+ },
+ {
+ text: 'hey @all',
+ key: '@all',
+ result: true
+ },
+ {
+ text: 'HEY @ALL',
+ key: '@all',
+ result: true
+ },
+ {
+ text: 'hey @all!',
+ key: '@all',
+ result: true
+ },
+ {
+ text: 'hey @all:+1:',
+ key: '@all',
+ result: true
+ },
+ {
+ text: 'hey @ALL:+1:',
+ key: '@all',
+ result: true
+ }
+ ]) {
+ const containsAtMention = PostUtils.containsAtMention(data.text, data.key);
+
+ expect(containsAtMention).toEqual(data.result);
+ }
+ });
+});