mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
import { strict as assert } from 'node:assert';
|
|
import { get_updated_label_set } from './autoLabel.js';
|
|
|
|
const empty_pr = {
|
|
action: 'opened',
|
|
pull_request: {
|
|
body: 'This PR will have no labels',
|
|
title: 'Pr with no labels',
|
|
mergeable: true,
|
|
},
|
|
};
|
|
const empty_label_set = await get_updated_label_set({
|
|
github: null,
|
|
context: { payload: empty_pr },
|
|
});
|
|
assert.equal(empty_label_set.length, 0, 'No labels should be added');
|
|
|
|
const cl = `
|
|
My Awesome PR
|
|
|
|
:cl: Awesome Dude
|
|
add: Adds Awesome Stuff
|
|
refactor: refactored some code
|
|
:/cl:
|
|
`;
|
|
const cl_pr = {
|
|
action: 'opened',
|
|
pull_request: {
|
|
body: cl,
|
|
title: 'Awesome PR',
|
|
mergeable: false,
|
|
},
|
|
};
|
|
const cl_label_set = await get_updated_label_set({
|
|
github: null,
|
|
context: { payload: cl_pr },
|
|
});
|
|
assert.ok(
|
|
cl_label_set.includes('Merge Conflict'),
|
|
'Merge Conflict label should be added',
|
|
);
|
|
assert.ok(cl_label_set.includes('Feature'), 'Feature label should be added');
|
|
assert.ok(
|
|
!cl_label_set.includes('Refactor'),
|
|
'Refactor label should not be added',
|
|
);
|
|
|
|
const title_pr = {
|
|
action: 'opened',
|
|
pull_request: {
|
|
title: 'Logging is important',
|
|
mergeable: true,
|
|
},
|
|
};
|
|
const title_label_set = await get_updated_label_set({
|
|
github: null,
|
|
context: { payload: title_pr },
|
|
});
|
|
assert.ok(title_label_set.includes('Logging'), 'Logging label should be added');
|