Skip to content

Commit

Permalink
feat: snyk woof ro language support and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mgyorke committed Apr 16, 2024
1 parent 5bd898e commit 90a30f3
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/cli/commands/woof.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MethodArgs } from '../args';
import getWoof from './woof/getWoof';

export default function woof(...args: MethodArgs) {
export default function woof(...args: MethodArgs): void {
const woof = getWoof(args);
console.log(`
| |
Expand Down
1 change: 1 addition & 0 deletions src/cli/commands/woof/getWoof.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const woofs = {
cs: ' Haf!',
uk: ' Гав!',
de: 'Wuff!',
ro: ' Ham!',
cat: 'Meow?',
};

Expand Down
33 changes: 25 additions & 8 deletions test/jest/acceptance/woof.spec.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@
import { runSnykCLI } from '../util/runSnykCLI';

describe('woof', () => {
// supported languages
const languages = [
{ langCode: 'en', expectedWoof: 'Woof!' },
{ langCode: 'he', expectedWoof: 'בה! ' },
{ langCode: 'ru', expectedWoof: 'Гав!' },
{ langCode: 'es', expectedWoof: 'Guau!' },
{ langCode: 'cs', expectedWoof: 'Haf!' },
{ langCode: 'uk', expectedWoof: 'Гав!' },
{ langCode: 'de', expectedWoof: 'Wuff!' },
{ langCode: 'ro', expectedWoof: 'Ham!' },
{ langCode: 'cat', expectedWoof: 'Meow?' },
];

// test default
it('Woofs in English by default', async () => {
const { stdout, code, stderr } = await runSnykCLI(`woof`);

expect(stdout).toContain('Woof!');
expect(code).toBe(0);
expect(stderr).toBe('');
});

// test unsuported
it('Woofs in English when passed unsupported language', async () => {
const { stdout, stderr, code } = await runSnykCLI(
`woof --language=blalbla`,
);

expect(stdout).toContain('Woof!');
expect(code).toBe(0);
expect(stderr).toBe('');
});

it('Woofs in Czech when passed "cs"', async () => {
const { stdout, code, stderr } = await runSnykCLI(`woof --language=cs`);

expect(stdout).toContain('Haf!');
expect(code).toBe(0);
expect(stderr).toBe('');
// test each supported language code
languages.forEach(({ langCode, expectedWoof }) => {
it(`Woofs in ${langCode}`, async () => {
const { stdout, code, stderr } = await runSnykCLI(
`woof --language=${langCode}`,
);
expect(stdout).toContain(expectedWoof);
expect(code).toBe(0);
expect(stderr).toBe('');
});
});
});

0 comments on commit 90a30f3

Please sign in to comment.