Skip to content

Commit 76b25fb

Browse files
fix: improve scope-enum unit tests
1 parent 41dbee7 commit 76b25fb

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

@commitlint/rules/src/scope-enum.test.ts

+24-8
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ test('scope-enum with plain message and always should succeed empty enum', async
2424
});
2525

2626
test('scope-enum with plain message and never should error empty enum', async () => {
27-
const [actual] = scopeEnum(await parsed.plain, 'never', []);
27+
const [actual, message] = scopeEnum(await parsed.plain, 'never', []);
2828
const expected = false;
2929
expect(actual).toEqual(expected);
30+
expect(message).toEqual('scope must not be one of []');
3031
});
3132

3233
test('with plain message should succeed correct enum', async () => {
@@ -36,15 +37,17 @@ test('with plain message should succeed correct enum', async () => {
3637
});
3738

3839
test('scope-enum with plain message should error false enum', async () => {
39-
const [actual] = scopeEnum(await parsed.plain, 'always', ['foo']);
40+
const [actual, message] = scopeEnum(await parsed.plain, 'always', ['foo']);
4041
const expected = false;
4142
expect(actual).toEqual(expected);
43+
expect(message).toEqual('scope must be one of [foo]');
4244
});
4345

4446
test('scope-enum with plain message should error forbidden enum', async () => {
45-
const [actual] = scopeEnum(await parsed.plain, 'never', ['bar']);
47+
const [actual, message] = scopeEnum(await parsed.plain, 'never', ['bar']);
4648
const expected = false;
4749
expect(actual).toEqual(expected);
50+
expect(message).toEqual('scope must not be one of [bar]');
4851
});
4952

5053
test('scope-enum with plain message should succeed forbidden enum', async () => {
@@ -95,24 +98,37 @@ test('scope-enum with empty scope and never should succeed empty enum', async ()
9598
expect(actual).toEqual(expected);
9699
});
97100

98-
test('scope-enum with multiple scopes should succeed on message with multiple scopes', async () => {
99-
const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar', 'baz']);
101+
test('scope-enum with multiple scopes should error on message with multiple scopes', async () => {
102+
const [actual, message] = scopeEnum(await parsed.multiple, 'never', [
103+
'bar',
104+
'baz',
105+
]);
100106
const expected = false;
101107
expect(actual).toEqual(expected);
108+
expect(message).toEqual('scope must not be one of [bar, baz]');
102109
});
103110

104-
test('scope-enum with multiple scopes should error on message with forbidden enum', async () => {
105-
const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar', 'qux']);
111+
test('scope-enum with multiple scopes should succeed on message with forbidden enum', async () => {
112+
const [actual, message] = scopeEnum(await parsed.multiple, 'never', [
113+
'bar',
114+
'qux',
115+
]);
106116
const expected = true;
107117
expect(actual).toEqual(expected);
108118
});
109119

110-
test('scope-enum with multiple scopes should error on message with superfluous scope', async () => {
120+
test('scope-enum with multiple scope should succeed on message with superfluous scope', async () => {
111121
const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar']);
112122
const expected = true;
113123
expect(actual).toEqual(expected);
114124
});
115125

126+
test('scope-enum with multiple scope should succeed on message with multiple scopes', async () => {
127+
const [actual] = scopeEnum(await parsed.multiple, 'always', ['bar', 'baz']);
128+
const expected = true;
129+
expect(actual).toEqual(expected);
130+
});
131+
116132
test('scope-enum with multiple scope with comma+space should succeed on message with multiple scopes', async () => {
117133
const [actual] = scopeEnum(await parsed.multipleCommaSpace, 'always', [
118134
'bar',

0 commit comments

Comments
 (0)