Skip to content

Commit 64b2aa2

Browse files
committed
test: update suite for argv2Object test
1 parent fc8c3ec commit 64b2aa2

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

test/argv2Object.test.mjs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { describe, it, afterEach, beforeEach } from 'node:test';
99
import assert from 'node:assert';
1010

1111
// » IMPORT MODULES
12-
import argv2Object from '../src/argv2Object.mjs';
12+
import argv2Object from '#argv2Object';
1313

1414
// ━━ CONSTANTS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1515
/**
@@ -19,22 +19,22 @@ import argv2Object from '../src/argv2Object.mjs';
1919
* @private
2020
* @constant {object} THROWS
2121
*/
22-
const THROWS = {
22+
const THROWS_ERRORS_MESSAGES = {
2323
INVALID_UNIXMODE_TYPE: {
2424
name: 'TypeError',
25-
message: 'The "unixmode" value must be a boolean type',
25+
message: 'The "unixmode" parameter must be a boolean value',
2626
},
2727
NO_ARGUMENTS: {
2828
name: 'Error',
29-
message: 'No arguments added',
29+
message: 'No command-line arguments were provided',
3030
},
3131
NO_MATCH_SIMPLE: {
3232
name: 'Error',
33-
message: `Some argument(s) do not follow the 'key=value' format.`,
33+
message: `Arguments must follow "key=value" format`,
3434
},
3535
NO_MATCH_UNIXMODE: {
3636
name: 'Error',
37-
message: `Some argument(s) do not follow the Unix-style command-line format.`,
37+
message: `Arguments must follow Unix-style format (-a, --option=value)`,
3838
},
3939
};
4040

@@ -55,28 +55,28 @@ describe('argv2Object', () => {
5555
2: 'task',
5656
3: 'invalid-arg',
5757
});
58-
assert.throws(() => argv2Object(12), THROWS.INVALID_UNIXMODE_TYPE);
58+
assert.throws(() => argv2Object(12), THROWS_ERRORS_MESSAGES.INVALID_UNIXMODE_TYPE);
5959
});
6060

6161
it('should throw an "Error" when no arguments are provided', () => {
6262
process.argv = ['node', 'script.js'];
63-
assert.throws(() => argv2Object(), THROWS.NO_ARGS);
63+
assert.throws(() => argv2Object(), THROWS_ERRORS_MESSAGES.NO_ARGS);
6464
});
6565

6666
it('should throw an "Error" when an argument does not match the expected format', () => {
6767
Object.assign(process.argv, {
6868
2: '-task',
6969
3: 'invalid-arg',
7070
});
71-
assert.throws(() => argv2Object(), THROWS.NO_MATCH_SIMPLE);
71+
assert.throws(() => argv2Object(), THROWS_ERRORS_MESSAGES.NO_MATCH_SIMPLE);
7272
});
7373

7474
it('should throw an "Error" when a Unix-style argument does not match the expected format', () => {
7575
Object.assign(process.argv, {
7676
2: 'task',
7777
3: 'invalid-arg',
7878
});
79-
assert.throws(() => argv2Object(true), THROWS.NO_MATCH_UNIXMODE);
79+
assert.throws(() => argv2Object(true), THROWS_ERRORS_MESSAGES.NO_MATCH_UNIXMODE);
8080
});
8181

8282
it('should convert simple key-value pairs to an object', () => {
@@ -86,16 +86,17 @@ describe('argv2Object', () => {
8686
4: 'level=0',
8787
});
8888
const result = argv2Object();
89-
assert.deepStrictEqual(result, { name: 'John', age: '30', level: '0' });
89+
assert.deepStrictEqual(result, { name: 'John', age: 30, level: 0 });
9090
});
9191

9292
it('should convert Unix-style options to an object', () => {
9393
Object.assign(process.argv, {
94-
2: '-a',
95-
3: '--name=John',
96-
4: '--is-admin',
94+
2: '-h',
95+
3: '-help',
96+
4: '--name=John',
97+
5: '--is-admin',
9798
});
9899
const result = argv2Object(true);
99-
assert.deepStrictEqual(result, { a: true, name: 'John', is_admin: true });
100+
assert.deepStrictEqual(result, { h: true, help: true, name: 'John', is_admin: true });
100101
});
101102
});

0 commit comments

Comments
 (0)