* chore: make aware eslint that we use jest By setting up the jest environment, we no longer need to declare the 'test' global in the configuration. * chore: don't need to import expect, it's a jest environment global * chore: don't need to import expect when creating undefined test
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
const {longestItem} = require('./_30s.js');
|
|
|
|
test('longestItem is a Function', () => {
|
|
expect(longestItem).toBeInstanceOf(Function);
|
|
});
|
|
test('Returns the longest object from plain values', () => {
|
|
expect(longestItem('this', 'is', 'a', 'testcase')).toEqual('testcase');
|
|
});
|
|
test('Returns the longest object from a spread array', () => {
|
|
expect(longestItem(...['a', 'ab', 'abc'])).toEqual('abc');
|
|
});
|
|
test('Returns the longest object from mixed input', () => {
|
|
expect(longestItem(...['a', 'ab', 'abc'], 'abcd')).toEqual('abcd');
|
|
});
|
|
test('Returns the longest array', () => {
|
|
expect(longestItem([1, 2, 3], [1, 2], [1, 2, 3, 4, 5])).toEqual([1, 2, 3, 4, 5]);
|
|
});
|
|
test('Returns the longest object when comparing arrays and strings', () => {
|
|
expect(longestItem([1, 2, 3], 'foobar')).toEqual('foobar');
|
|
});
|
|
test('Returns TypeError without any input', () => {
|
|
expect(() => {
|
|
longestItem();
|
|
}).toThrow(TypeError);
|
|
});
|
|
test('Returns first found of all similar', () => {
|
|
expect(longestItem('a', 'b', 'c')).toEqual('a');
|
|
});
|
|
test('Throws TypeError if all inputs are undefined', () => {
|
|
expect(() => {
|
|
longestItem(undefined, undefined);
|
|
}).toThrow(TypeError);
|
|
});
|