Skip to content

Commit 4b7e96f

Browse files
committed
created unit tests for components under renderer
added in babel plugin for css in jsx
1 parent 735ddaf commit 4b7e96f

File tree

5 files changed

+66
-1
lines changed

5 files changed

+66
-1
lines changed

.babelrc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"presets": [
3+
"@babel/preset-env",
4+
"@babel/preset-react",
5+
],
6+
"plugins": [
7+
"@babel/plugin-proposal-class-properties",
8+
"@babel/plugin-proposal-object-rest-spread",
9+
"@babel/plugin-transform-runtime",
10+
"styled-jsx/babel"
11+
]
12+
}

package.json

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"private": true,
1515
"main": "main/index.js",
1616
"scripts": {
17-
"test": "xo",
17+
"test": "xo && ava --verbose",
1818
"start": "yarn && electron .",
1919
"build": "next build renderer && next export renderer",
2020
"dist": "npm run build && electron-builder",
@@ -25,6 +25,8 @@
2525
"name": "Kap"
2626
},
2727
"dependencies": {
28+
"@babel/preset-react": "^7.0.0",
29+
"@babel/runtime": "^7.6.2",
2830
"@ffmpeg-installer/ffmpeg": "^1.0.20",
2931
"@sentry/browser": "^5.6.3",
3032
"@sentry/electron": "^0.17.3",
@@ -68,15 +70,25 @@
6870
"react-dom": "^16.9.0",
6971
"react-linkify": "^0.2.2",
7072
"semver": "^6.3.0",
73+
"styled-jsx": "^3.2.2",
7174
"tempy": "^0.3.0",
7275
"tildify": "^2.0.0",
7376
"tmp": "^0.1.0",
7477
"unstated": "^1.2.0"
7578
},
7679
"devDependencies": {
80+
"@babel/plugin-proposal-class-properties": "^7.5.5",
81+
"@babel/plugin-proposal-object-rest-spread": "^7.6.2",
82+
"@babel/plugin-transform-runtime": "^7.6.2",
83+
"@babel/preset-env": "^7.6.2",
84+
"@babel/register": "^7.6.2",
85+
"ava": "^1.0.0-beta.8",
7786
"babel-eslint": "^10.0.3",
87+
"browser-env": "^3.2.6",
7888
"electron": "6.0.9",
7989
"electron-builder": "^21.2.0",
90+
"enzyme": "^3.10.0",
91+
"enzyme-adapter-react-16": "^1.14.0",
8092
"eslint-config-xo-react": "^0.20.0",
8193
"eslint-plugin-react": "^7.14.3",
8294
"eslint-plugin-react-hooks": "^2.0.1",
@@ -107,6 +119,20 @@
107119
"renderer/out"
108120
]
109121
},
122+
"ava": {
123+
"files": [
124+
"test/window-header.js",
125+
"test/keyboard-number-input.js",
126+
"!/test/editor"
127+
],
128+
"require": [
129+
"@babel/register",
130+
"@babel/preset-react",
131+
"./test/helpers/browser-env.js",
132+
"@babel/plugin-proposal-class-properties",
133+
"@babel/plugin-proposal-object-rest-spread"
134+
]
135+
},
110136
"husky": {
111137
"hooks": {
112138
"pre-commit": "npm test",

test/helpers/browser-env.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
require('browser-env')();

test/keyboard-number-input.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import test from 'ava';
2+
import React from 'react';
3+
import {mount, configure} from 'enzyme';
4+
import Adapter from 'enzyme-adapter-react-16';
5+
import KeyboardNumberInput from '../renderer/components/keyboard-number-input';
6+
7+
configure({adapter: new Adapter()});
8+
9+
test('it should render input', t => {
10+
const wrapper = mount(<KeyboardNumberInput/>);
11+
wrapper.find('input[type="text"]').at(2);
12+
const input = wrapper.simulate('change', {target: {value: 72}});
13+
t.is((input.length), 1);
14+
});

test/window-header.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import test from 'ava';
2+
import React from 'react';
3+
import {shallow, configure} from 'enzyme';
4+
import Adapter from 'enzyme-adapter-react-16';
5+
import WindowHeader from '../renderer/components/window-header';
6+
7+
configure({adapter: new Adapter()});
8+
9+
test('can mount component window header', t => {
10+
const wrapper = shallow(<WindowHeader/>);
11+
t.true(wrapper.hasClass('window-header'));
12+
});

0 commit comments

Comments
 (0)