Skip to content

Commit

Permalink
Switch to Jest for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
wyze committed Mar 15, 2017
1 parent 62302e6 commit bc33e5b
Show file tree
Hide file tree
Showing 28 changed files with 1,050 additions and 1,681 deletions.
38 changes: 38 additions & 0 deletions __tests__/base.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import base from '../base'

describe('base config', () => {
it('extends files', () => {
const expected = [
'airbnb/base',
'plugin:wyze/recommended',
'wyze/rules/best-practices',
'wyze/rules/es6',
'wyze/rules/import',
'wyze/rules/legacy',
'wyze/rules/style',
]

expect(base.extends).toEqual(expected)
})

it('specifies plugins', () => {
const expected = [
'import',
'wyze',
]

expect(base.plugins).toEqual(expected)
})

it('sets parserOptions correcty', () => {
const expected = {
ecmaFeatures: {
experimentalObjectRestSpread: true,
},
ecmaVersion: 2017,
sourceType: 'module',
}

expect(base.parserOptions).toEqual(expected)
})
})
26 changes: 26 additions & 0 deletions __tests__/flow.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import flow from '../flow'

describe('flow config', () => {
it('extends files', () => {
const expected = [
'plugin:flowtype/recommended',
'wyze/rules/flow',
]

expect(flow.extends).toEqual(expected)
})

it('sets parser correctly', () => {
const expected = 'babel-eslint'

expect(flow.parser).toBe(expected)
})

it('sets plugins correctly', () => {
const expected = [
'flowtype',
]

expect(flow.plugins).toEqual(expected)
})
})
13 changes: 13 additions & 0 deletions __tests__/index.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import main from '../'

describe('main config', () => {
it('extends files', () => {
const expected = [
'airbnb',
'wyze/base',
'wyze/rules/react',
]

expect(main.extends).toEqual(expected)
})
})
24 changes: 24 additions & 0 deletions __tests__/preact.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import preact from '../preact'

describe('preact config', () => {
it('extends files', () => {
const expected = [
'wyze',
'wyze/rules/preact',
]

expect(preact.extends).toEqual(expected)
})

it('sets settings correctly', () => {
const expected = {
react: {
createClass: 'h',
pragma: 'preact',
version: '6.0',
},
}

expect(preact.settings).toEqual(expected)
})
})
18 changes: 14 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,24 @@
},
"main": "index.js",
"scripts": {
"lint": "eslint .",
"lint": "eslint rules *.js",
"prelint": "npm link && npm link eslint-config-wyze",
"pretest": "npm run lint",
"test": "ava"
"test": "jest"
},
"files": [
"rules",
"*.js"
],
"babel": {
"plugins": [
"transform-inline-imports-commonjs"
]
},
"eslintConfig": {
"env": {
"jest": true
},
"extends": "./base.js",
"rules": {
"import/default": 0,
Expand All @@ -39,14 +47,16 @@
"eslint-plugin-wyze": "^2.0.0"
},
"devDependencies": {
"ava": "^0.18.1",
"babel-eslint": "^7.1.1",
"babel-jest": "^19.0.0",
"babel-plugin-transform-inline-imports-commonjs": "^1.2.0",
"eslint": "^3.15.0",
"eslint-config-airbnb": "^14.1.0",
"eslint-plugin-flowtype": "^2.30.0",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jsx-a11y": "^4.0.0",
"eslint-plugin-react": "^6.9.0",
"eslint-plugin-wyze": "^2.0.0"
"eslint-plugin-wyze": "^2.0.0",
"jest": "^19.0.2"
}
}
12 changes: 12 additions & 0 deletions rules/__tests__/best-practices.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../best-practices'

describe('best practices rules', () => {
it('contains no plugin rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^[^/]+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/es6.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../es6'

describe('es6 rules', () => {
it('contains no plugin rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^[^/]+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/flow.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../flow'

describe('flow rules', () => {
it('only flowtype rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^flowtype\/.+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/import.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../import'

describe('import rules', () => {
it('contains only import rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^import\/.+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/legacy.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../legacy'

describe('legacy rules', () => {
it('contains no plugin rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^[^/]+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/preact.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../preact'

describe('preact rules', () => {
it('contains only react rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^react\/.+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/react.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../react'

describe('react rules', () => {
it('contains only react rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^react\/.+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/style.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../style'

describe('style rules', () => {
it('contains no plugin rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^[^/]+$/),
)

expect(keys).toEqual(expected)
})
})
12 changes: 12 additions & 0 deletions rules/__tests__/variables.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { rules } from '../variables'

describe('variables rules', () => {
it('contains no plugin rules', () => {
const keys = Object.keys(rules)
const expected = Array.from(
keys, () => expect.stringMatching(/^[^/]+$/),
)

expect(keys).toEqual(expected)
})
})
37 changes: 0 additions & 37 deletions test/base.js

This file was deleted.

25 changes: 0 additions & 25 deletions test/flow.js

This file was deleted.

12 changes: 0 additions & 12 deletions test/index.js

This file was deleted.

23 changes: 0 additions & 23 deletions test/preact.js

This file was deleted.

8 changes: 0 additions & 8 deletions test/rules/best-practices.js

This file was deleted.

8 changes: 0 additions & 8 deletions test/rules/es6.js

This file was deleted.

8 changes: 0 additions & 8 deletions test/rules/flow.js

This file was deleted.

Loading

0 comments on commit bc33e5b

Please sign in to comment.