nx/packages/react/src/generators/application/lib/find-free-port.spec.ts

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 },
},
}
: {},
});
}