diff --git a/__tests__/regexUtils.test.ts b/__tests__/regexUtils.test.ts new file mode 100644 index 0000000..2cf675c --- /dev/null +++ b/__tests__/regexUtils.test.ts @@ -0,0 +1,57 @@ +import { transformStringToValue, validateRegex } from '../src/pr-collector/regexUtils' +import { Regex } from '../src/pr-collector/types' + +jest.setTimeout(180000) + +it('Replace into target', async () => { + const regex: Regex = { + pattern: '.*(\\[Feature\\]|\\[Issue\\]).*', + target: '$1', + } + const validatedRegex = validateRegex(regex) + expect(validateRegex).not.toBeNull() + expect(transformStringToValue("[Feature] TEST", validatedRegex!!)).toStrictEqual(`[Feature]`) +}) + +it('Replace all into target', async () => { + const regex: Regex = { + pattern: '.*(\\[Feature\\]|\\[Issue\\]).*', + method: 'replaceAll', + target: '$1', + } + const validatedRegex = validateRegex(regex) + expect(validateRegex).not.toBeNull() + expect(transformStringToValue("[Feature] TEST", validatedRegex!!)).toStrictEqual(`[Feature]`) +}) + +it('Match without target', async () => { + const regex: Regex = { + pattern: '\\[Feature\\]|\\[Issue\\]', + method: 'match' + } + const validatedRegex = validateRegex(regex) + expect(validateRegex).not.toBeNull() + expect(transformStringToValue("[Feature] TEST", validatedRegex!!)).toStrictEqual(`[Feature]`) +}) + +it('Match into target', async () => { + const regex: Regex = { + pattern: '(?