From e1ef323e9b6babc504fa69564f3af81934360f7f Mon Sep 17 00:00:00 2001 From: Sepand Ansari Date: Sat, 27 Oct 2018 19:22:54 -0400 Subject: [PATCH] Add jest/enzyme and a simple unit test --- .eslintrc | 2 +- client/__test__/mocks/fileMock.js | 1 + client/components/__test__/Nav.test.jsx | 47 + developer_docs/installation.md | 3 + jest.setup.js | 4 + package-lock.json | 20897 +++++++++++++++++----- package.json | 13 +- 7 files changed, 16702 insertions(+), 4265 deletions(-) create mode 100644 client/__test__/mocks/fileMock.js create mode 100644 client/components/__test__/Nav.test.jsx create mode 100644 jest.setup.js diff --git a/.eslintrc b/.eslintrc index 9c9b874a..70fdcc0c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,7 +4,7 @@ "env": { "browser": true, "node": true, - "mocha": true + "jest": true }, "rules": { "linebreak-style": 0, diff --git a/client/__test__/mocks/fileMock.js b/client/__test__/mocks/fileMock.js new file mode 100644 index 00000000..86059f36 --- /dev/null +++ b/client/__test__/mocks/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub'; diff --git a/client/components/__test__/Nav.test.jsx b/client/components/__test__/Nav.test.jsx new file mode 100644 index 00000000..4543c343 --- /dev/null +++ b/client/components/__test__/Nav.test.jsx @@ -0,0 +1,47 @@ + +import React from 'react'; +import { shallow } from 'enzyme'; + +import Nav from './../Nav'; + +describe('Nav', () => { + const props = { + newProject: jest.fn(), + saveProject: jest.fn(), + autosaveProject: jest.fn(), + exportProjectAsZip: jest.fn(), + cloneProject: jest.fn(), + user: { + authenticated: true, + username: 'new-user', + id: 'new-user' + }, + project: { + id: 'new-project', + owner: { + id: 'new-user' + } + }, + logoutUser: jest.fn(), + showShareModal: jest.fn(), + showErrorModal: jest.fn(), + unsavedChanges: false, + warnIfUnsavedChanges: jest.fn(), + showKeyboardShortcutModal: jest.fn(), + cmController: { + tidyCode: jest.fn(), + showFind: jest.fn(), + findNext: jest.fn(), + findPrev: jest.fn() + }, + startSketch: jest.fn(), + stopSketch: jest.fn(), + setAllAccessibleOutput: jest.fn() + }; + const getWrapper = () => shallow(