@toptal/davinci-qa
Version:
QA package to test your application
82 lines (65 loc) • 2.19 kB
JavaScript
/* eslint jest/expect-expect: ["error", { "assertFunctionNames": ["expect", "errorTest", "successTest"] }] */
import styledComponentsVersionCheck from './styled-components-version-check.js'
const successTest = (styledComponentsVersion, dependenciesKeys) => {
const packageJson = {}
dependenciesKeys.forEach(dependenciesKey => {
packageJson[dependenciesKey] = {
'styled-components': styledComponentsVersion,
}
})
let error = null
try {
styledComponentsVersionCheck(packageJson)
} catch (e) {
error = e
}
expect(error).toBeNull()
}
const errorTest = (styledComponentsVersion, dependenciesKeys) => {
const packageJson = {}
dependenciesKeys.forEach(dependenciesKey => {
packageJson[dependenciesKey] = {
'styled-components': styledComponentsVersion,
}
})
let error = null
try {
styledComponentsVersionCheck(packageJson)
} catch (e) {
error = e
}
expect(error).not.toBeNull()
expect(error.message).toContain(styledComponentsVersion)
}
describe('styled-components version check', () => {
describe('has wrong (^4.4.1) SC version in dependencies', () => {
it('should throw an error', () => {
errorTest('^4.4.1', ['dependencies'])
})
})
describe('has correct (^5.0.1) SC version in dependencies', () => {
it('should NOT throw an error', () => {
successTest('^5.0.1', ['dependencies'])
})
})
describe('has wrong (^4.4.1) SC version in devDependencies and peerDependencies', () => {
it('should throw an error', () => {
errorTest('^4.4.1', ['devDependencies', 'peerDependencies'])
})
})
describe('has correct (^5.0.1) SC version in devDependencies and peerDependencies', () => {
it('should NOT throw an error', () => {
successTest('^5.0.1', ['devDependencies', 'peerDependencies'])
})
})
describe('has wrong (^4.4.1) SC version in devDependencies', () => {
it('should throw an error', () => {
errorTest('^4.4.1', ['devDependencies'])
})
})
describe('has correct (^5.0.1) SC version in devDependencies', () => {
it('should NOT throw an error', () => {
successTest('^5.0.1', ['devDependencies'])
})
})
})