Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#3087: Implement reactjs + javascript unit tests #3235

Merged
merged 161 commits into from
May 31, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
3758cbd
#3087: package.json, install 'jest-cli'
jeff1evesque Feb 11, 2018
1e3ba8d
#3087: package.json, remove trailing comma
jeff1evesque Feb 11, 2018
f3f0a2b
#3087: jest.config.js, add initial base config
jeff1evesque Feb 11, 2018
072ce9f
#3087: jest.config.js, add 'collectCoverage'
jeff1evesque Feb 11, 2018
bbb6a8b
#3087: segregate '[webserver|reactjs].dockerfile'
jeff1evesque Feb 12, 2018
66af0c7
#3087: frontend.dockerfile, rename 'reactjs.dockerfile'
jeff1evesque Feb 12, 2018
40b9032
#3087: unit-tests, build and run 'frontend' container
jeff1evesque Feb 12, 2018
2422553
#3087: unit-tests, adjust docstring
jeff1evesque Feb 12, 2018
17bbf45
#3087: unit-tests, reduce docstring
jeff1evesque Feb 12, 2018
33c78a9
#3087: unit-tests, add missing '&&'
jeff1evesque Feb 12, 2018
659dcce
#3087: frontend.dockerfile, ensure hiera exists
jeff1evesque Feb 12, 2018
a836e6c
#3087: frontend.dockerfile, properly 'COPY'
jeff1evesque Feb 12, 2018
9b8da47
#3087: frontend.dockerfile, copy 'interface/'
jeff1evesque Feb 12, 2018
efeb4eb
#3087: unit-tests, adjust docstring, remove 'run-api'
jeff1evesque Feb 12, 2018
0e2ec5a
#3087: unit-tests, reorder 'webserver' container
jeff1evesque Feb 12, 2018
da6a87e
#3087: install 'jest' globally with puppet 'nodejs'
jeff1evesque Feb 12, 2018
df04fef
#3087: packages.yaml, install 'jest-cli' as 'general'
jeff1evesque Feb 13, 2018
dc71f62
#3087: packages.yaml, add 'enzyme'
jeff1evesque Feb 13, 2018
11ebebb
#3087: login.test.jsx, add initial 'LoginForm' test
jeff1evesque Feb 13, 2018
f8bf5af
#3087: login.test.jsx, add trivial 'input' existence
jeff1evesque Feb 13, 2018
69f6406
#3087: login.test.jsx, minor language change
jeff1evesque Feb 13, 2018
21aec17
#3087: register.test.jsx, add file
jeff1evesque Feb 14, 2018
4297774
#3087: analysis.test.jsx, add file
jeff1evesque Feb 14, 2018
285d9ee
#3087: analysis.test.jsx, 'import' route components
jeff1evesque Feb 14, 2018
40f6f1d
#3087: restructure '__test__', similar to actual code
jeff1evesque Feb 15, 2018
0a1f0e1
#3087: adjust relative import path
jeff1evesque Feb 15, 2018
fdb195f
#3087: analysis.test.jsx, adjust relative import path
jeff1evesque Feb 15, 2018
646e3f9
#3087: page.test.jsx, add file
jeff1evesque Feb 15, 2018
97d76ca
#3087: page.test.jsx, adjust 'shallow' reference
jeff1evesque Feb 15, 2018
b9dd366
#3087: jest.config.js, define 'coverageDirectory: ./'
jeff1evesque Feb 15, 2018
75b1df0
#3087: unit-tests, copy jest 'coverage' results
jeff1evesque Feb 16, 2018
6702252
#3087: unit-tests, adjust comparison to '&&'
jeff1evesque Feb 16, 2018
fd82b66
#3087: pytest.rst, adjust docker container references
jeff1evesque Feb 16, 2018
412853e
#3087: jest.config.js, prefix with 'module.export'
jeff1evesque Feb 16, 2018
144a6e4
#3087: update 'nodejs' to '7.x'
jeff1evesque Feb 17, 2018
06643ac
#3087: jest.config.js, define 'moduleDirectories'
jeff1evesque Feb 17, 2018
a0f0f31
#3087: move 'enzyme' into 'package.json'
jeff1evesque Feb 18, 2018
36fab4d
#3087: package_json.pp, 'flatten' 'devDependencies'
jeff1evesque Feb 18, 2018
0622828
#3087: package.json, remove 'enzyme'
jeff1evesque Feb 18, 2018
95adfad
#3087: package_json.pp, revert, remove '--no-bin-links'
jeff1evesque Feb 18, 2018
449fcf3
#3087: jest.config.js, add path to 'jest-cli'
jeff1evesque Feb 18, 2018
a90273b
#3087: package_json.pp, restablish '--no-bin-links'
jeff1evesque Feb 18, 2018
f1dba07
#3087: package.json, remove trailing comma
jeff1evesque Feb 18, 2018
26f3446
#3087: .gitignore, ignore jest generated asset
jeff1evesque Feb 19, 2018
75408fa
#3087: .gitignore, reduce comments
jeff1evesque Mar 27, 2018
6284b46
#3087: .gitignore, manual language change
jeff1evesque Mar 28, 2018
2ccf4de
#3087: resolve merge conflict with 'master'
jeff1evesque May 5, 2018
f890f21
#3087: create node 'jest' module
jeff1evesque May 5, 2018
a8b4631
#3087: install.pp, minor indentation
jeff1evesque May 5, 2018
efb5fcc
#3087: conditionally install 'jest-cli'
jeff1evesque May 5, 2018
0841b09
#3087: reduce 'jest' module with 'platform' option
jeff1evesque May 5, 2018
3b0b494
#3087: install.pp, use double equality
jeff1evesque May 5, 2018
57ae6ea
#3087: move 'nodejs' install into 'webserver' module
jeff1evesque May 5, 2018
874e482
#3087: webserver.dockerfile, redundancy in docstring
jeff1evesque May 5, 2018
a993c93
#3087: install.pp, install 'nodejs'
jeff1evesque May 5, 2018
477079b
#3087: relocate 'jest-cli' in 'package.json'
jeff1evesque May 5, 2018
1893f10
#3087: xxx.dockerfile, better segregate unit tests
jeff1evesque May 6, 2018
fd3edaa
#3087: rancher-compose, segregate 'test/' volumes
jeff1evesque May 6, 2018
70bf234
#3087: package.json, add 'test:jest'
jeff1evesque May 6, 2018
01d7ade
#3087: package.json, add missing comma
jeff1evesque May 6, 2018
e69a31c
#3087: jest.config.js, adjust 'moduleDirectories'
jeff1evesque May 6, 2018
660a404
#3087: jest.rst, add initial documentation
jeff1evesque May 8, 2018
59a907a
#3087: apply changes recommended by @ljharb
jeff1evesque May 9, 2018
2bd3d10
#3087: apply changes recommended by @rickhanlonii
jeff1evesque May 10, 2018
fa75958
#3087: COPY 'jest/' + entire 'jsx/' directory
jeff1evesque May 10, 2018
c64c431
#3087: package.json, add 'enzyme'
jeff1evesque May 10, 2018
3edb403
#3087: jest.config.jsx, fix 'moduleDirectories'
jeff1evesque May 10, 2018
ab06a43
#3087: browserify.dockerfile, relocate '__tests__'
jeff1evesque May 12, 2018
d81e31b
#3087: use 'enzyme-adapter' per @webdeveloperpr
jeff1evesque May 12, 2018
d680291
#3087: login.test.jsx, use @rickhanlonii suggestion
jeff1evesque May 12, 2018
67e6a74
#3087: analysis.test.jsx, use 'jest.fn'
jeff1evesque May 12, 2018
2f5a7f5
#3087: further 'jest.fn' use per @rickhanlonii
jeff1evesque May 12, 2018
7d67c63
#3087: use 'setupTestFrameworkScriptFile' per @ljharb
jeff1evesque May 12, 2018
a10bf6a
#3087: fix relative jsx import + import 'Route'
jeff1evesque May 12, 2018
08ab937
#3087: page.test.jsx, 'MemoryRouter' - @webdeveloperpr
jeff1evesque May 13, 2018
66933d6
#3087: segregate 'MainRoute' per @webdeveloperpr
jeff1evesque May 13, 2018
e6ab8ab
#3087: main-route.jsx, fix relative 'import' paths
jeff1evesque May 13, 2018
8e4bebc
#3087: segregate 'Route' into segregated jsx templates
jeff1evesque May 13, 2018
a051c05
#3087: use 'mock-local-storage' + @webdeveloperpr
jeff1evesque May 14, 2018
b98763c
#3087: setup.js, adjust docstring
jeff1evesque May 14, 2018
0d4ffda
#3087: reduce 'mockDispatchLayout' instances
jeff1evesque May 15, 2018
da055b6
#3087: page.test.jsx, define 'getStateFn'
jeff1evesque May 16, 2018
b65d33f
#3087: page.test.jsx, remove 'store'
jeff1evesque May 17, 2018
88b0c59
#3087: page.test.jsx, implement explicit 'store'
jeff1evesque May 17, 2018
f84d8a8
#3087: analysis.test.jsx, use 'MemoryRouter' + 'store'
jeff1evesque May 17, 2018
b799e76
#3087: analysis.test.jsx, add missing 'import'
jeff1evesque May 17, 2018
ee06301
#3087: analysis.test.jsx, define 'mockDispatchLayout'
jeff1evesque May 17, 2018
20d2317
#3087: analysis.test.jsx, 'import { mount }'
jeff1evesque May 17, 2018
806e4ac
#3087: analysis.jsx, fix typo
jeff1evesque May 18, 2018
df285b1
#3087: analysis.test.jsx, use 'MemoryRouter'
jeff1evesque May 18, 2018
5a38a11
#3087: analysis.test.jsx, use 'ResultRoute'
jeff1evesque May 18, 2018
f8f68b4
#3087: analysis.test.jsx, fix 'expect'
jeff1evesque May 18, 2018
6a6654a
#3087: reduced explicit jest syntax
jeff1evesque May 18, 2018
11d2270
#3087: adjust jest test messages
jeff1evesque May 18, 2018
cb676c2
#3087: jest.rst, add jest test traceback
jeff1evesque May 18, 2018
9047892
#3087: jest.rst, adjust test messages
jeff1evesque May 19, 2018
af8c88c
#3087: login.test.jsx, fix indentation
jeff1evesque May 19, 2018
193f864
#3087: jest.rst, verbose documentation
jeff1evesque May 19, 2018
fb9ea12
#3087: page.jsx, 'import MainRoute'
jeff1evesque May 19, 2018
ea234f7
#3087: Merge branch 'master' into feature-3087
jeff1evesque May 20, 2018
271e881
#3087: jest.rst, replace link substitution syntax
jeff1evesque May 20, 2018
3ac3330
#3087: unit-tests, add jest unit tests to ci
jeff1evesque May 21, 2018
9bdcda4
#3087: use npm 'coveralls' script per @bytewalls
jeff1evesque May 22, 2018
13d80d9
#3087: .travis.yml, apply travis variables per @bytewalls
jeff1evesque May 22, 2018
53ae034
#3087: .travis.yml, interpolate secret env variable
jeff1evesque May 23, 2018
82cb93b
#3087: .travis.yml, update docstring
jeff1evesque May 23, 2018
cbc0ef5
#3087: move 'browserify' container to travis matrix
jeff1evesque May 23, 2018
b57c950
#3087: segregate 'backend', 'frontend', 'lint' tests
jeff1evesque May 24, 2018
5e3cc29
#3087: .travis.yml, reorder 'env', and 'notification'
jeff1evesque May 24, 2018
14df9ca
#3087: .travis.yml, remove 'run' argument
jeff1evesque May 24, 2018
797421b
#3087: .travis.yml, initialize '[LINT|TEST]_EXIT'
jeff1evesque May 24, 2018
d6e1376
#3087: .travis.yml, use multiline 'after_success'
jeff1evesque May 24, 2018
6af5924
#3087: .travis.yml, adjust bash 'if' condition
jeff1evesque May 24, 2018
32e5344
#3087: .travis.yml, remove redundant 'after_success' case
jeff1evesque May 24, 2018
ddf6671
#3087: .travis.yml, reduce line wrapping
jeff1evesque May 24, 2018
3f6e721
#3087: .travis.yml, use 'global' + 'matrix'
jeff1evesque May 24, 2018
c4c698f
#3087: .travis.yml, group 'coverage combine' with 'backend'
jeff1evesque May 24, 2018
602aa3a
#3087: frontend, remove unusued 'PROJECT_ROOT'
jeff1evesque May 24, 2018
5502f1e
#3087: .travis.yml, ensure 'frontend' executable
jeff1evesque May 24, 2018
24693b3
#3087: package.json, reduce relative path syntax
jeff1evesque May 24, 2018
aee0f8c
#3087: browserify.dockerfile, only 'watch' if no 'args'
jeff1evesque May 24, 2018
2361d0a
#3087: browserify.dockerfile, quote 'args'
jeff1evesque May 24, 2018
44eff2f
#3087: browserify.dockerfile, generalize 'if'
jeff1evesque May 24, 2018
09ca5c0
#3087: frontend, run test in background
jeff1evesque May 24, 2018
b2798ff
#3087: browserify.dockerfile, reduce entrypoint syntax
jeff1evesque May 28, 2018
06628a2
#3087: package.json, reduce 'test:coveralls' syntax
jeff1evesque May 28, 2018
d12646d
#3087: .travis.yml, more verbose 'after_success'
jeff1evesque May 28, 2018
638e8df
#3087: .travis.yml, remove syntax error
jeff1evesque May 28, 2018
66d08c2
#3087: frontend, use use '-it' flag
jeff1evesque May 28, 2018
f85c116
#3087: frontend, pass 'test' argument to docker entrypoint
jeff1evesque May 28, 2018
a0c2870
#3087: .travis.yml, use flags on './test/frontend'
jeff1evesque May 28, 2018
9033627
#3087: frontend, only supply 'test' argument
jeff1evesque May 28, 2018
1bb23f7
#3087: package.json, revert to more verbose 'script'
jeff1evesque May 28, 2018
20b5607
#3087: browserify.dockerfile, ensure dockerfile exists
jeff1evesque May 29, 2018
c2cf3e2
#3087: package.json, revert to reduced script syntax
jeff1evesque May 29, 2018
3e395ef
#3087: confine tests inside travis, eliminate container
jeff1evesque May 29, 2018
c4b968a
#3087: .travis.yml, give npm scope
jeff1evesque May 29, 2018
39aaa3e
#3087: package.json, adjust path to 'jest.config.js'
jeff1evesque May 29, 2018
2dd3ed7
#3087: .travis.yml, remove 'if' for frontend case
jeff1evesque May 29, 2018
22607b9
#3087: package.json, adjust path to 'jest.config.js'
jeff1evesque May 29, 2018
cdc4072
#3087: standardize path to 'jest.config.js'
jeff1evesque May 29, 2018
310e88b
#3087: jest.config.js, reduce duplicate definitions
jeff1evesque May 29, 2018
dcd3941
#3087: setup.js, adjust 'mock-local-storage' reference
jeff1evesque May 29, 2018
314e9cd
#3087: setup.js, adjust 'mock-local-storage' reference
jeff1evesque May 29, 2018
311e31c
#3087: setup.js, adjust 'mock-local-storage' reference
jeff1evesque May 29, 2018
5ac1fb4
#3087: jest.config.js, directly use 'mock-local-storage'
jeff1evesque May 29, 2018
9f9069d
#3087: use 'global' npm package
jeff1evesque May 29, 2018
a75d9d4
#3087: jest.config.js, use 'setup.js'
jeff1evesque May 29, 2018
4e109ba
#3087: relative paths in 'jest.config.js'
jeff1evesque May 29, 2018
4d9fa48
#3087: jest.config.js, revert 'setup.js' path
jeff1evesque May 29, 2018
f150062
#3087: setup.js, revert 'moduleDirectories'
jeff1evesque May 29, 2018
033ae63
#3087: jest.config.js, use '<rootDir>'
jeff1evesque May 29, 2018
8d7ad09
3087: standardize jest config location
jeff1evesque May 29, 2018
ce284f5
#3087: adjust coverage paths
jeff1evesque May 29, 2018
b6b0bb6
#3087: use jest directory structure best practices
jeff1evesque May 29, 2018
0aec518
#3087: jest.config.js, adjust path to 'setup.js'
jeff1evesque May 29, 2018
6f81064
#3087: package.json, reference 'lcov-report'
jeff1evesque May 30, 2018
5a3ef2f
#3087: package.json, use 'lcov.info'
jeff1evesque May 30, 2018
264edd6
#3087: retain coverage report in '<rootDir>'
jeff1evesque May 30, 2018
6f1be85
#3087: package.json, pipe cov to 'coveralls.js' fullpath
jeff1evesque May 31, 2018
8703804
#3087: refactor npm scripts
jeff1evesque May 31, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Ignore project root (except exclamated files, and directories)
# Ignore project root: except exclamated files, and directories
/*
!/interface/
!/brain/
Expand All @@ -23,7 +23,7 @@
!.coveragerc
!/utility/

# Ignore and don't commit the following directories
# Ignore directories
*.sass-cache/
*__pycache__/
*.pytest_cache/
Expand All @@ -34,9 +34,9 @@
/src/node_modules/
/puppet/environment/*/modules_contrib/

# Ignore and don't commit the following files
# Ignore files
*.pyc
*npm-debug.log
/src/js/.gitignore
/log/{application,database,webcompiler,webserver,*.log}
/test/*.log
/test/*.log
80 changes: 56 additions & 24 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,63 @@
language: python
dist: trusty
sudo: required

## configurations
before_install:
- chmod u+x test/linter
- chmod u+x test/unit-tests

## install packages
install:
- pip install python-coveralls==2.9.0
- ./test/linter install

## lint and test
script:
- ./test/linter run; LINT_EXIT=$?
- ./test/unit-tests --norecycle --verbose; TEST_EXIT=$?
##
## environment variables
##
## @COVERALLS_PARALLEL, update coveralls only when branch merged
##
env:
global:
- COVERALLS_PARALLEL=true

## results: the following commands are run after linting, and tests have completed.
##
## Note: more information regarding the coverage-coverall implementation:
## implement coveralls.io webhook
##
## https://github.com/pytest-dev/pytest-cov/issues/146
## https://github.com/lemurheavy/coveralls-public/issues/1123#issuecomment-390699100
## https://github.com/lemurheavy/coveralls-public/issues/1123#issuecomment-391030777
##
after_success:
- coverage combine
- coveralls
- if [ "$LINT_EXIT" -gt 0 ] && [ "$TEST_EXIT" -gt 0 ]; then echo "Lint ($LINT_EXIT) and Unit Tests failed" && exit 1; fi
- if [ "$LINT_EXIT" -gt 0 ]; then echo "Lint Failed ($LINT_EXIT)" && exit 1; fi
- if [ "$TEST_EXIT" -gt 0 ]; then echo 'Unit Tests failed' && exit 1; fi
notifications:
webhooks: https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN

matrix:
include:
## lint sourcecode
- language: python
before_install:
- chmod u+x test/linter
install:
- ./test/linter install
script:
- ./test/linter run; LINT_EXIT=$?
- if [ "$LINT_EXIT" -gt 0 ]; then
echo "Lint failed ($LINT_EXIT)" && exit 1;
fi

## frontend tests: implement jest + enzyme
- language: node_js
node_js: 8
install:
- cd "$TRAVIS_BUILD_DIR"/src/jsx && npm install
script:
- npm run test && npm run report:coveralls
- cd "$TRAVIS_BUILD_DIR"

##
## backend tests: implement pytest
##
## Note: more information regarding the coverage-coverall implementation:
##
## https://github.com/pytest-dev/pytest-cov/issues/146
##
- language: python
before_install:
- chmod u+x test/backend
install:
- pip install python-coveralls==2.9.0
script:
- ./test/backend --norecycle --verbose; BACKEND_EXIT=$?
after_success:
- if [ "$BACKEND_EXIT" -gt 0 ]; then
echo 'Backend tests failed' && exit 1;
fi
- coverage combine && coveralls
159 changes: 159 additions & 0 deletions doc/test/jest.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
===============
Unit Test: Jest
===============

Jest is used to perform unit testing against our reactjs frontend code. Specifically,
our `package.json`, defines a corresponding `script`, which can execute a set of unit
tests. This can easiliest be done from the `browserify` container, provided by the
rancher `development build`_:

.. code:: bash

root@trusty64:/vagrant# docker build -f dockerfile/browserify.dockerfile -t jeff1evesque/ml-browserify:0.7 .
root@trusty64:/vagrant# docker run --hostname browserify --name browserify -d jeff1evesque/ml-browserify:0.7
root@trusty64:/vagrant# docker exec -it browserify /bin/bash
root@browserify:/var/machine-learning/src/jsx# npm run test

> reactjs@1.0.0 test /var/machine-learning/src/jsx
> NODE_ENV=test jest --config jest.config.js

PASS __tests__/layout/analysis.test.jsx (11.716s)
AnalysisLayout Component
✓ analysisForm should exist (19ms)
✓ url should render DataNewState component (113ms)
✓ url should render DataAppendState component (72ms)
✓ url should render ModelGenerateState component (25ms)
✓ url should render ModelPredictState component (7ms)
✓ url should render CurrentResultState component (16ms)
✓ url should render ResultsDisplayState component (11ms)

PASS __tests__/layout/page.test.jsx
PageLayout Component
✓ should render home route (157ms)
✓ should render login route (18ms)
✓ should render logout route (18ms)
✓ should render register route (21ms)
✓ should render analysis route (88ms)

PASS __tests__/content/register.test.jsx
Register Component
✓ registerForm should exist (4ms)
✓ user[login] field should exist (8ms)
✓ [name="user[email]"] field should exist (2ms)
✓ [name="user[password]"] field should exist (2ms)
✓ submit buttom should exist (2ms)

PASS __tests__/content/login.test.jsx
Login Component
✓ loginForm should exist (3ms)
✓ user[login] field should exist (3ms)
✓ user[password] field should exist (2ms)
✓ form submit button should exist (3ms)

--------------------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
--------------------------|----------|----------|----------|----------|-------------------|
All files | 33.33 | 21.32 | 37.64 | 33.51 | |
animation | 79.17 | 55 | 64.29 | 79.17 | |
animate.jsx | 79.17 | 55 | 64.29 | 79.17 |... 34,135,136,139 |
content | 26.85 | 17.44 | 50 | 26.85 | |
home-page.jsx | 100 | 100 | 100 | 100 | |
login.jsx | 27.78 | 22.58 | 55.56 | 27.78 |... 46,156,169,183 |
register.jsx | 23.91 | 14.55 | 33.33 | 23.91 |... 99,209,219,231 |
formatter | 0 | 100 | 0 | 0 | |
transpose.js | 0 | 100 | 0 | 0 | 47,48,51,52,57 |
general | 35.71 | 15.38 | 27.27 | 36.59 | |
ajax-caller.js | 53.85 | 50 | 60 | 58.33 | 16,44,46,49,53 |
breakpoints.js | 100 | 100 | 100 | 100 | |
colors.js | 100 | 100 | 100 | 100 | |
range-slider.jsx | 0 | 0 | 0 | 0 |... 62,63,64,65,67 |
spinner.jsx | 50 | 100 | 0 | 50 | 14 |
submit-button.jsx | 0 | 0 | 0 | 0 | 23,24,25,26,28 |
input-data | 0 | 0 | 0 | 0 | |
supply-dataset-file.jsx | 0 | 0 | 0 | 0 |... 8,90,95,96,113 |
supply-dataset-url.jsx | 0 | 0 | 0 | 0 |... 6,88,93,94,112 |
supply-predictors.jsx | 0 | 0 | 0 | 0 |... 11,118,119,121 |
layout | 34.21 | 19.51 | 73.33 | 34.21 | |
analysis.jsx | 30.56 | 19.51 | 69.23 | 30.56 |... 33,234,254,281 |
login.jsx | 100 | 100 | 100 | 100 | |
register.jsx | 100 | 100 | 100 | 100 | |
model | 50 | 0 | 66.67 | 50 | |
model-type.jsx | 50 | 0 | 66.67 | 50 | 27,28,29,31 |
navigation | 3.64 | 0 | 6.25 | 3.64 | |
header-menu.jsx | 0 | 0 | 0 | 0 |... 35,143,150,151 |
nav-bar.jsx | 100 | 100 | 100 | 100 | |
user-menu.jsx | 0 | 0 | 0 | 0 |... 28,229,231,248 |
navigation/menu-items | 23.33 | 15.09 | 33.33 | 23.33 | |
current-result.jsx | 50 | 100 | 0 | 50 | 15 |
home.jsx | 50 | 100 | 0 | 50 | 17 |
login.jsx | 0 | 0 | 0 | 0 |... 20,123,132,133 |
register.jsx | 0 | 0 | 0 | 0 | 25,30,40,44,45 |
results.jsx | 52.17 | 44.44 | 83.33 | 52.17 |... 63,64,67,68,92 |
redux | 100 | 100 | 100 | 100 | |
store.jsx | 100 | 100 | 100 | 100 | |
redux/action | 23.08 | 0 | 30 | 23.08 | |
current-result.jsx | 0 | 100 | 0 | 0 | 7 |
login.jsx | 0 | 100 | 0 | 0 | 7 |
logout.jsx | 0 | 100 | 0 | 0 | 9 |
page.jsx | 30 | 0 | 42.86 | 30 |... 26,56,57,62,63 |
redux/container | 70 | 38.6 | 68.18 | 70 | |
analysis-layout.jsx | 63.64 | 33.33 | 100 | 63.64 |... 38,42,43,46,47 |
current-result.jsx | 80 | 57.14 | 100 | 80 | 29,30 |
data-append.jsx | 100 | 100 | 100 | 100 | |
data-new.jsx | 100 | 100 | 100 | 100 | |
header-menu.jsx | 66.67 | 100 | 0 | 66.67 | 18 |
home-page.jsx | 100 | 100 | 100 | 100 | |
login-link.jsx | 37.5 | 0 | 0 | 37.5 | 19,20,22,26,35 |
login.jsx | 87.5 | 80 | 100 | 87.5 | 22 |
model-generate.jsx | 100 | 100 | 100 | 100 | |
model-predict.jsx | 100 | 100 | 100 | 100 | |
range-slider.jsx | 66.67 | 100 | 0 | 66.67 | 18 |
register-link.jsx | 33.33 | 0 | 0 | 33.33 | 18,19,21,25 |
register.jsx | 87.5 | 80 | 100 | 87.5 | 21 |
results.jsx | 100 | 100 | 100 | 100 | |
review-results-link.jsx | 66.67 | 57.14 | 100 | 66.67 | 22,23 |
user-menu.jsx | 37.5 | 0 | 0 | 37.5 | 19,20,22,26,35 |
redux/reducer | 59.52 | 57.5 | 100 | 59.52 | |
data.jsx | 37.5 | 36.36 | 100 | 37.5 | 17,18,20,22,29 |
layout.jsx | 87.5 | 90.91 | 100 | 87.5 | 38 |
login.jsx | 62.5 | 55.56 | 100 | 62.5 | 16,23,25 |
page.jsx | 55.56 | 44.44 | 100 | 55.56 |... 32,41,43,69,77 |
result | 31.54 | 32.32 | 43.48 | 31.54 | |
current-result.jsx | 22.11 | 34.15 | 31.25 | 22.11 |... 80,343,346,349 |
results.jsx | 57.14 | 23.53 | 71.43 | 57.14 |... 99,114,115,132 |
route | 100 | 100 | 100 | 100 | |
main-route.jsx | 100 | 100 | 100 | 100 | |
result-route.jsx | 100 | 100 | 100 | 100 | |
session-route.jsx | 100 | 100 | 100 | 100 | |
session-type | 38.46 | 14.38 | 43.75 | 38.46 | |
data-append.jsx | 43.94 | 18.6 | 46.15 | 43.94 |... 93,196,197,243 |
data-new.jsx | 39.62 | 8.33 | 40 | 39.62 |... 32,136,137,153 |
model-generate.jsx | 30.38 | 10.64 | 35.71 | 30.38 |... 18,224,230,280 |
model-predict.jsx | 41.94 | 22.22 | 54.55 | 41.94 |... 49,154,165,195 |
svg | 0 | 0 | 0 | 0 | |
svg-books.jsx | 0 | 100 | 0 | 0 |... 20,21,25,29,33 |
svg-home.jsx | 0 | 0 | 0 | 0 |... 32,36,40,44,48 |
svg-pencil-note.jsx | 0 | 100 | 0 | 0 |... 21,22,26,30,34 |
svg-user.jsx | 0 | 100 | 0 | 0 |... 20,21,25,29,33 |
validator | 10.71 | 21.43 | 16.67 | 10.71 | |
valid-email.js | 0 | 100 | 0 | 0 | 6,7,11 |
valid-file.js | 0 | 0 | 0 | 0 | 6,7,8,10,15 |
valid-float.js | 0 | 0 | 0 | 0 |... 16,17,19,22,27 |
valid-password.js | 0 | 100 | 0 | 0 | 10,11,15 |
valid-string.js | 75 | 75 | 100 | 75 | 9 |
valid-url.js | 0 | 100 | 0 | 0 | 6,7,11 |
--------------------------|----------|----------|----------|----------|-------------------|
Test Suites: 4 passed, 4 total
Tests: 21 passed, 21 total
Snapshots: 0 total
Time: 20.649s
Ran all test suites.

**Note:** it is important to remember to run the above command in the same directory,
containing the `package.json`, within the `browserify` docker container.

This frontend testing can be executed manually, as indicated above. However, it is also
implemented within our travis ci. Therefore, each pull request, will verify the integrity
of the reactjs frontend code.

.. _development build: ../installation/rancher
Loading