n8n/.github/scripts/determine-release-version-changes.test.mjs

47 lines
1.4 KiB
JavaScript

import { describe, it, mock, before } from 'node:test';
import assert from 'node:assert/strict';
/**
* Run these tests by running
*
* node --test --experimental-test-module-mocks ./.github/scripts/determine-release-version-changes.test.mjs
* */
// mock.module must be called before the module under test is imported,
// because static imports are hoisted and resolve before any code runs.
mock.module('./github-helpers.mjs', {
namedExports: {
ensureEnvVar: () => {}, // no-op
sh: () => {}, // no-op
writeGithubOutput: () => {}, // no-op
},
});
let hasNodeEnhancements, hasCoreChanges;
before(async () => {
({ hasNodeEnhancements, hasCoreChanges } = await import(
'./determine-release-version-changes.mjs'
));
});
describe('Determine release version changes', () => {
it('Matches nodes feature', () => {
assert.ok(hasNodeEnhancements('feat(nodes): Added a utility for node'));
});
it('Matches nodes fix', () => {
assert.ok(hasNodeEnhancements('fix(nodes): Fix said utility'));
});
it('Matches named node feature', () => {
assert.ok(hasNodeEnhancements('feat(Github Actions Node): Add ability to call webhooks'));
});
it('Matches named node fix', () => {
assert.ok(hasNodeEnhancements('fix(OpenAI Node): Allow credentials to pass through'));
});
it('Matches core changes', () => {
assert.ok(hasCoreChanges('feat(core): Add cli flag'));
});
it('Matches editor changes', () => {
assert.ok(hasCoreChanges('feat(editor): Add button'));
});
});