diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 14:36:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 14:36:54 +0000 |
commit | f61bb2a16a514b71bf33aabbbb999d6732016a24 (patch) | |
tree | 9548caa89e60b4f40b99bbd1dac030420b812aa8 /spec/frontend/gfm_auto_complete_spec.js | |
parent | 35fc54e5d261f8898e390aea7c2f5ec5fdf0539d (diff) | |
download | gitlab-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.js | 35 |
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); + }); + }); }); }); |