Files
vercel/packages/cli/test/commands/inspect.test.ts
Nathan Rajlich 1be75712e0 [cli] Add outputBuffer getter and mutable isTTY for tests (#6827)
These changes originally from #6652, but pulled out to be merged
separately.

`outputBuffer` is a simpler way of asserting tests against the CLI
output instead of working directly withe Jest mock function.

`output.isTTY` is also now mutable, so that we can write tests for both
cases when the output is different based on TTY-ness (for example,
see the updated `vc whoami` tests in this PR).
2021-10-12 16:16:55 -07:00

31 lines
1.0 KiB
TypeScript

import { client } from '../mocks/client';
import { useUser } from '../mocks/user';
import { useDeployment } from '../mocks/deployment';
import inspect from '../../src/commands/inspect';
describe('inspect', () => {
it('should print out deployment information', async () => {
const user = useUser();
const deployment = useDeployment({ creator: user });
client.setArgv('inspect', deployment.url);
const exitCode = await inspect(client);
expect(exitCode).toEqual(0);
expect(
client.mockOutput.mock.calls[0][0].startsWith(
`> Fetched deployment "${deployment.url}" in ${user.username}`
)
).toBeTruthy();
});
it('should print error when deployment not found', async () => {
const user = useUser();
useDeployment({ creator: user });
client.setArgv('inspect', 'bad.com');
const exitCode = await inspect(client);
expect(exitCode).toEqual(1);
expect(client.outputBuffer).toEqual(
`Error! Failed to find deployment "bad.com" in ${user.username}\n`
);
});
});