Skip to content

Commit d2f8a46

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

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

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

+20-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 () => {
@@ -97,18 +100,27 @@ test('scope-enum with empty scope and never should succeed empty enum', async ()
97100

98101
test('scope-enum with multiple scopes should succeed on message with multiple scopes', async () => {
99102
const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar', 'baz']);
100-
const expected = false;
103+
const expected = true;
104+
expect(actual).toEqual(expected);
105+
});
106+
107+
test('scope-enum with multiple scopes should succeed on message with forbidden enum', async () => {
108+
const [actual, message] = scopeEnum(await parsed.multiple, 'never', [
109+
'bar',
110+
'qux',
111+
]);
112+
const expected = true;
101113
expect(actual).toEqual(expected);
102114
});
103115

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']);
116+
test('scope-enum with multiple scope should succeed on message with superfluous scope', async () => {
117+
const [actual, message] = scopeEnum(await parsed.multiple, 'never', ['bar']);
106118
const expected = true;
107119
expect(actual).toEqual(expected);
108120
});
109121

110-
test('scope-enum with multiple scopes should error on message with superfluous scope', async () => {
111-
const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar']);
122+
test('scope-enum with multiple scope should succeed on message with multiple scopes', async () => {
123+
const [actual] = scopeEnum(await parsed.multiple, 'always', ['bar', 'baz']);
112124
const expected = true;
113125
expect(actual).toEqual(expected);
114126
});

0 commit comments

Comments
 (0)