Files
renovate/lib/modules/platform/gitlab/roles.spec.ts
Stephen Breakey 2f9735f249 feat(gitlab): add gitlab codeowners role support (#44621)
* feat(gitlab): add gitlab codeowners role support

* chore: use named group in roleRegex

* Update lib/config/options/index.ts

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* Update lib/modules/platform/gitlab/roles.ts

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* chore: rename getMembers to getGroupMembers

* chore: refactor getRoleMemberUsernames

* chore: adjust test chaining

---------

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-07-22 08:36:15 +00:00

37 lines
1.0 KiB
TypeScript

import { getRoleAccessLevel } from './roles.ts';
describe('modules/platform/gitlab/roles', () => {
describe('getRoleAccessLevel', () => {
it.each`
handle | expected
${'@@no_access'} | ${0}
${'@@minimal_access'} | ${5}
${'@@guest'} | ${10}
${'@@planner'} | ${15}
${'@@reporter'} | ${20}
${'@@developer'} | ${30}
${'@@maintainer'} | ${40}
${'@@owner'} | ${50}
`('resolves $handle to $expected', ({ handle, expected }) => {
expect(getRoleAccessLevel(handle)).toBe(expected);
});
it('is case-insensitive', () => {
expect(getRoleAccessLevel('@@Maintainer')).toBe(40);
expect(getRoleAccessLevel('@@OWNER')).toBe(50);
});
it.each`
handle
${'@developer'}
${'@@unknown'}
${'developer'}
${'@@'}
${'@group'}
${'u@email.com'}
`('returns null for $handle', ({ handle }) => {
expect(getRoleAccessLevel(handle)).toBeNull();
});
});
});