summaryrefslogtreecommitdiff
path: root/spec/frontend/gfm_auto_complete_spec.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-20 14:36:54 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-20 14:36:54 +0000
commitf61bb2a16a514b71bf33aabbbb999d6732016a24 (patch)
tree9548caa89e60b4f40b99bbd1dac030420b812aa8 /spec/frontend/gfm_auto_complete_spec.js
parent35fc54e5d261f8898e390aea7c2f5ec5fdf0539d (diff)
downloadgitlab-ce-13.11.0-rc42.tar.gz
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc42
Diffstat (limited to 'spec/frontend/gfm_auto_complete_spec.js')
-rw-r--r--spec/frontend/gfm_auto_complete_spec.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/frontend/gfm_auto_complete_spec.js b/spec/frontend/gfm_auto_complete_spec.js
index 13dbda9cf55..5453c93eac3 100644
--- a/spec/frontend/gfm_auto_complete_spec.js
+++ b/spec/frontend/gfm_auto_complete_spec.js
@@ -665,6 +665,41 @@ describe('GfmAutoComplete', () => {
expect(GfmAutoComplete.Members.nameOrUsernameIncludes(member, query)).toBe(result);
});
});
+
+ describe('sorter', () => {
+ const query = 'c';
+
+ const items = [
+ { search: 'DougHackett elayne.krieger' },
+ { search: 'BerylHuel cherie.block' },
+ { search: 'ErlindaMayert nicolle' },
+ { search: 'Administrator root' },
+ { search: 'PhoebeSchaden salina' },
+ { search: 'CatherinTerry tommy.will' },
+ { search: 'AntoineLedner ammie' },
+ { search: 'KinaCummings robena' },
+ { search: 'CharlsieHarber xzbdulia' },
+ ];
+
+ const expected = [
+ // Members whose name/username starts with `c` are grouped first
+ { search: 'BerylHuel cherie.block' },
+ { search: 'CatherinTerry tommy.will' },
+ { search: 'CharlsieHarber xzbdulia' },
+ // Members whose name/username contains `c` are grouped second
+ { search: 'DougHackett elayne.krieger' },
+ { search: 'ErlindaMayert nicolle' },
+ { search: 'PhoebeSchaden salina' },
+ { search: 'KinaCummings robena' },
+ // Remaining members are grouped last
+ { search: 'Administrator root' },
+ { search: 'AntoineLedner ammie' },
+ ];
+
+ it('sorts by match with start of name/username, then match with any part of name/username, and maintains sort order', () => {
+ expect(GfmAutoComplete.Members.sort(query, items)).toMatchObject(expected);
+ });
+ });
});
});