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