aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/__tests__
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/__tests__')
-rw-r--r--web/src/js/__tests__/components/Modal/OptionModalSpec.js54
-rw-r--r--web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap35
-rw-r--r--web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap61
-rw-r--r--web/src/js/__tests__/components/Modal/__snapshots__/OptionSpec.js.snap2
-rw-r--r--web/src/js/__tests__/ducks/optionsSpec.js15
5 files changed, 165 insertions, 2 deletions
diff --git a/web/src/js/__tests__/components/Modal/OptionModalSpec.js b/web/src/js/__tests__/components/Modal/OptionModalSpec.js
new file mode 100644
index 00000000..dd4e70a2
--- /dev/null
+++ b/web/src/js/__tests__/components/Modal/OptionModalSpec.js
@@ -0,0 +1,54 @@
+import React from 'react'
+import renderer from 'react-test-renderer'
+import { PureOptionDefault } from '../../../components/Modal/OptionModal'
+
+describe('PureOptionDefault Component', () => {
+
+ it('should return null when the value is default', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal="foo"/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle boolean type', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value={true} defaultVal={false}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle array', () => {
+ let a = [""], b = [], c = ['c'],
+ pureOptionDefault = renderer.create(
+ <PureOptionDefault value={a} defaultVal={b}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+
+ pureOptionDefault = renderer.create(
+ <PureOptionDefault value={a} defaultVal={c}/>
+ )
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle string', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal=""/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle null value', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal={null}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+})
diff --git a/web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap b/web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap
index bfd855bd..8d9271f1 100644
--- a/web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap
+++ b/web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap
@@ -117,7 +117,7 @@ exports[`Modal Component should render correctly 2`] = `
name="choiceOption"
onChange={[Function]}
onKeyDown={[Function]}
- selected="b"
+ value="b"
>
<option
value="a"
@@ -136,6 +136,17 @@ exports[`Modal Component should render correctly 2`] = `
</option>
</select>
</div>
+ <div
+ className="small"
+ >
+ Default:
+ <strong>
+
+ a
+
+ </strong>
+
+ </div>
</div>
</div>
<div
@@ -170,6 +181,17 @@ exports[`Modal Component should render correctly 2`] = `
value={1}
/>
</div>
+ <div
+ className="small"
+ >
+ Default:
+ <strong>
+
+ 0
+
+ </strong>
+
+ </div>
</div>
</div>
<div
@@ -207,6 +229,17 @@ exports[`Modal Component should render correctly 2`] = `
<div
className="small text-danger"
/>
+ <div
+ className="small"
+ >
+ Default:
+ <strong>
+
+ null
+
+ </strong>
+
+ </div>
</div>
</div>
</div>
diff --git a/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap b/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap
new file mode 100644
index 00000000..68f1c9fc
--- /dev/null
+++ b/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap
@@ -0,0 +1,61 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`PureOptionDefault Component should handle array 1`] = `null`;
+
+exports[`PureOptionDefault Component should handle array 2`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ [ ]
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle boolean type 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ false
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle null value 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ null
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle string 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ ""
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should return null when the value is default 1`] = `null`;
diff --git a/web/src/js/__tests__/components/Modal/__snapshots__/OptionSpec.js.snap b/web/src/js/__tests__/components/Modal/__snapshots__/OptionSpec.js.snap
index 514e0eb5..257bddce 100644
--- a/web/src/js/__tests__/components/Modal/__snapshots__/OptionSpec.js.snap
+++ b/web/src/js/__tests__/components/Modal/__snapshots__/OptionSpec.js.snap
@@ -18,7 +18,7 @@ exports[`BooleanOption Component should render correctly 1`] = `
exports[`ChoiceOption Component should render correctly 1`] = `
<select
onChange={[Function]}
- selected="a"
+ value="a"
>
<option
value="a"
diff --git a/web/src/js/__tests__/ducks/optionsSpec.js b/web/src/js/__tests__/ducks/optionsSpec.js
index 0925fcc1..9178c14e 100644
--- a/web/src/js/__tests__/ducks/optionsSpec.js
+++ b/web/src/js/__tests__/ducks/optionsSpec.js
@@ -49,3 +49,18 @@ describe('sendUpdate', () => {
])
})
})
+
+describe('save', () => {
+
+ it('should dump options', () => {
+ global.fetch = jest.fn()
+ store.dispatch(OptionsActions.save())
+ expect(fetch).toBeCalledWith(
+ '/options/save?_xsrf=undefined',
+ {
+ credentials: "same-origin",
+ method: "POST"
+ }
+ )
+ })
+})