mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-31 09:41:46 +00:00
2f9735f249
* 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>
37 lines
1.0 KiB
TypeScript
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();
|
|
});
|
|
});
|
|
});
|