diff --git a/.gitignore b/.gitignore
index 227cb76c8423e1ed6df991204a25ed87a214e4ad..10a8b909518f233620d978087555e52b48124e4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ public/assets/*
 public/uploads/*
 pubsweet.log
 uploads/*
+__snapshots__/
\ No newline at end of file
diff --git a/app/components/BookBuilder/Chapter/test/ProgressItem.spec.js b/app/components/BookBuilder/Chapter/test/ProgressItem.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..8f2c42a30fc309800f3375c4da1dd57a630f1439
--- /dev/null
+++ b/app/components/BookBuilder/Chapter/test/ProgressItem.spec.js
@@ -0,0 +1,30 @@
+import React from 'react'
+import { shallow } from 'enzyme'
+import { shallowToJson } from 'enzyme-to-json'
+import sinon from 'sinon'
+
+import ProgressItem from '../ProgressItem'
+
+const { data } = global.mock
+const type = 'front'
+const chapters = data.chapters.filter((chapter) => {
+  return chapter.division === type
+})
+
+let props = {
+  chapter: chapters[0],
+  type: 'edit',
+  modalContainer: {},
+  update: sinon.spy(),
+  roles: []
+}
+
+const getWrapper = () => {
+  return shallow(<ProgressItem {...props} />)
+}
+
+test('should render correctly', () => {
+  const wrapper = getWrapper()
+  const tree = shallowToJson(wrapper)
+  expect(tree).toMatchSnapshot()
+})
diff --git a/package.json b/package.json
index 6815e62f426b8d7c76a1c0d0a22b8dd503501f4c..7e148340f5d315c53ef3f42e57d322b00b9f83a5 100644
--- a/package.json
+++ b/package.json
@@ -55,6 +55,7 @@
   "devDependencies": {
     "enzyme": "^2.7.1",
     "enzyme-to-json": "^1.4.5",
+    "react-addons-test-utils": "^15.4.2",
     "identity-obj-proxy": "^3.0.0",
     "jest": "^18.1.0",
     "react-test-renderer": "^15.4.2",
@@ -73,12 +74,13 @@
       "./node_modules/enzyme-to-json/serializer"
     ],
     "transformIgnorePatterns": [
-      "node_modules/(?!pubsweet-frontend)"
+      "node_modules/(?!pubsweet-frontend)",
+      "__snapshots__"
     ]
   },
   "scripts": {
-    "test": "jest",
-    "test:watch": "jest --watch",
-    "test:cover": "jest --coverage"
+    "test": "NODE_EVN=test jest",
+    "test:watch": "NODE_EVN=test jest --watch",
+    "test:cover": "NODE_EVN=test jest --coverage"
   }
 }