Add frontend testing, require node 12 (#15315)
- Add basic frontend unit testing infrastructure using jest in ESM mode - Rename 'make test' to 'make test-backend' - Introduce 'make test-frontend' and 'make test' that runs both - Bump Node.js requirement to v12. v10 will be EOL in less than a month. - Convert all build-related JS files to ESM. I opted to run frontend tests run as part of the compliance pipeline because they complete fast and are not platform-specific like the golang tests.tokarchuk/v1.17
parent
4eea819b24
commit
0d1a5e0ffc
@ -0,0 +1,10 @@ |
|||||||
|
export default { |
||||||
|
setupFilesAfterEnv: ['jest-extended'], |
||||||
|
testTimeout: 20000, |
||||||
|
testMatch: [ |
||||||
|
'**/web_src/**/*.test.js', |
||||||
|
], |
||||||
|
transform: {}, |
||||||
|
verbose: false, |
||||||
|
}; |
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,29 @@ |
|||||||
|
import { |
||||||
|
basename, extname, isObject, uniq, stripTags, |
||||||
|
} from './utils.js'; |
||||||
|
|
||||||
|
test('basename', () => { |
||||||
|
expect(basename('/path/to/file.js')).toEqual('file.js'); |
||||||
|
expect(basename('/path/to/file')).toEqual('file'); |
||||||
|
expect(basename('file.js')).toEqual('file.js'); |
||||||
|
}); |
||||||
|
|
||||||
|
test('extname', () => { |
||||||
|
expect(extname('/path/to/file.js')).toEqual('.js'); |
||||||
|
expect(extname('/path/')).toEqual(''); |
||||||
|
expect(extname('/path')).toEqual(''); |
||||||
|
expect(extname('file.js')).toEqual('.js'); |
||||||
|
}); |
||||||
|
|
||||||
|
test('isObject', () => { |
||||||
|
expect(isObject({})).toBeTrue(); |
||||||
|
expect(isObject([])).toBeFalse(); |
||||||
|
}); |
||||||
|
|
||||||
|
test('uniq', () => { |
||||||
|
expect(uniq([1, 1, 1, 2])).toEqual([1, 2]); |
||||||
|
}); |
||||||
|
|
||||||
|
test('stripTags', () => { |
||||||
|
expect(stripTags('<a>test</a>')).toEqual('test'); |
||||||
|
}); |
Loading…
Reference in new issue