@factorialco/shadowdog
Version:
<img src="https://raw.githubusercontent.com/factorialco/shadowdog/refs/heads/main/logo.png" alt="drawing" width="100"/>
46 lines (45 loc) • 1.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_extra_1 = __importDefault(require("fs-extra"));
const vitest_1 = require("vitest");
const shadowdog_git_1 = __importDefault(require("./shadowdog-git"));
const process_1 = __importDefault(require("process"));
const events_1 = require("../events");
(0, vitest_1.describe)('shadowdog git', () => {
const next = vitest_1.vi.fn();
const eventEmitter = new events_1.ShadowdogEventEmitter();
(0, vitest_1.beforeEach)(() => {
fs_extra_1.default.mkdirpSync('tmp/.git');
fs_extra_1.default.writeFileSync('tmp/.git/rebase-merge', 'deadbeef');
vitest_1.vi.spyOn(process_1.default, 'cwd').mockReturnValue('tmp');
});
(0, vitest_1.afterEach)(() => {
fs_extra_1.default.rmSync('tmp/.git', { recursive: true });
});
(0, vitest_1.describe)('when there is a rebase in the current folder', () => {
(0, vitest_1.it)('does not execute the next middleware', async () => {
await shadowdog_git_1.default.middleware({
config: {
command: 'echo foo',
artifacts: [],
tags: [],
workingDirectory: '',
},
files: [],
invalidators: {
environment: [],
files: [],
},
next,
abort: () => { },
options: {},
changedFilePath: 'README.md',
eventEmitter,
});
(0, vitest_1.expect)(next).not.toHaveBeenCalled();
});
});
});