42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
|
|
import { addProjectConfiguration, Tree } from '@nrwl/devkit';
|
|
|
|
import { findFreePort } from './find-free-port';
|
|
|
|
describe('findFreePort', () => {
|
|
it('should return the largest port + 1', () => {
|
|
const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
addProject(tree, 'app1', 4200);
|
|
addProject(tree, 'app2', 4201);
|
|
addProject(tree, 'no-serve');
|
|
|
|
const port = findFreePort(tree);
|
|
|
|
expect(port).toEqual(4202);
|
|
});
|
|
|
|
it('should default to port 4200', () => {
|
|
const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
addProject(tree, 'no-serve');
|
|
|
|
const port = findFreePort(tree);
|
|
|
|
expect(port).toEqual(4200);
|
|
});
|
|
});
|
|
|
|
function addProject(tree: Tree, name: string, port?: number) {
|
|
addProjectConfiguration(tree, name, {
|
|
name: name,
|
|
root: `/${name}`,
|
|
targets: port
|
|
? {
|
|
serve: {
|
|
executor: '',
|
|
options: { port },
|
|
},
|
|
}
|
|
: {},
|
|
});
|
|
}
|