1
1
mirror of https://github.com/primer/css.git synced 2024-09-20 05:07:11 +03:00
css/__tests__/build.test.js
2021-04-01 10:56:12 -07:00

58 lines
1.2 KiB
JavaScript

const fs = require('fs')
let distDir
beforeAll(() => {
distDir = fs.readdirSync('./dist')
})
describe('./dist/ folder', () => {
let distCSS, distMap, distJS
beforeAll(() => {
distCSS = distDir.filter(i => i.match(/\.css$/))
distMap = distDir.filter(i => i.match(/\.map$/))
distJS = distDir.filter(i => i.match(/\.js$/))
})
it('is not empty', () => {
expect(distDir).not.toBeNull()
expect(distDir.length).not.toBe(0)
})
it('contains source maps', () => {
for (const file of distCSS) {
expect(distMap).toContain(`${file}.map`)
}
})
it('contains stats export files', () => {
for (const file of distCSS) {
expect(distJS).toContain(file.replace('.css', '.js'))
}
})
it('contains stats/ folder', () => {
expect(distDir).toContain('stats')
})
})
describe('./dist/stats/ folder', () => {
let statsDir
beforeAll(() => {
statsDir = fs.readdirSync('./dist/stats')
})
it('is not empty', () => {
expect(statsDir).not.toBeNull()
expect(statsDir.length).not.toBe(0)
})
it('contains a css file for each stat file', () => {
for (const file of statsDir) {
expect(distDir).toContain(file.replace('.json', '.css'))
}
})
})