@yolkai/nx-workspace
Version:
72 lines (71 loc) • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const default_tasks_runner_1 = require("./default-tasks-runner");
const run_command_1 = require("./run-command");
describe('getRunner', () => {
let nxJson;
let mockRunner;
let overrides;
beforeEach(() => {
nxJson = {
npmScope: 'proj',
projects: {}
};
mockRunner = jest.fn();
overrides = { foo: 'bar' };
});
it('gets a default runner when runner is not defined in the nx json', () => {
const { tasksRunner, tasksOptions } = run_command_1.getRunner(undefined, nxJson, overrides);
expect(tasksRunner).toEqual(default_tasks_runner_1.default);
expect(tasksOptions).toEqual(overrides);
});
it('gets a default runner when default options are not configured', () => {
const { tasksRunner, tasksOptions } = run_command_1.getRunner(undefined, nxJson, overrides);
expect(tasksRunner).toEqual(default_tasks_runner_1.default);
expect(tasksOptions).toEqual(overrides);
});
it('gets a custom task runner', () => {
jest.mock('custom-runner', () => mockRunner, {
virtual: true
});
nxJson.tasksRunnerOptions = {
custom: {
runner: 'custom-runner'
}
};
const { tasksRunner, tasksOptions } = run_command_1.getRunner('custom', nxJson, overrides);
expect(tasksRunner).toEqual(mockRunner);
expect(tasksOptions).toEqual(overrides);
});
it('gets a custom task runner with options', () => {
jest.mock('custom-runner2', () => mockRunner, {
virtual: true
});
nxJson.tasksRunnerOptions = {
custom: {
runner: 'custom-runner2',
options: {
runnerOption: 'runner-option'
}
}
};
const { tasksRunner, tasksOptions } = run_command_1.getRunner('custom', nxJson, overrides);
expect(tasksRunner).toBe(mockRunner);
expect(tasksOptions).toEqual({
runnerOption: 'runner-option',
foo: 'bar'
});
});
it('gets a custom defined default task runner', () => {
jest.mock('custom-default-runner', () => mockRunner, {
virtual: true
});
nxJson.tasksRunnerOptions = {
default: {
runner: 'custom-default-runner'
}
};
const { tasksRunner } = run_command_1.getRunner(undefined, nxJson, overrides);
expect(tasksRunner).toEqual(mockRunner);
});
});