From 6605a143d6c6a1417d55f7a63d1697fdad2c828d Mon Sep 17 00:00:00 2001 From: Bryan Fox Date: Tue, 24 Jul 2018 17:13:13 -0400 Subject: [PATCH 01/12] Update package lock (lingering changes) --- package-lock.json | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index a162def2fc..bd52a7a867 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "network-canvas", - "version": "4.0.0-alpha.4", + "version": "4.0.0-alpha.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3195,7 +3195,7 @@ }, "ansi": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "resolved": "http://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" }, "balanced-match": { @@ -3215,7 +3215,7 @@ }, "bplist-parser": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { "big-integer": "1.6.26" @@ -3232,7 +3232,7 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "cordova-common": { @@ -3257,12 +3257,12 @@ }, "cordova-registry-mapper": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz", + "resolved": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz", "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw=" }, "elementtree": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz", + "resolved": "http://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz", "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=", "requires": { "sax": "0.3.5" @@ -3270,7 +3270,7 @@ }, "glob": { "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { "inflight": "1.0.6", @@ -3282,7 +3282,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "1.4.0", @@ -3291,12 +3291,12 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "lodash": { "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" }, "minimatch": { @@ -3309,7 +3309,7 @@ }, "nopt": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "requires": { "abbrev": "1.1.1" @@ -3317,7 +3317,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1.0.2" @@ -3325,12 +3325,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { @@ -3344,12 +3344,12 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "plist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/plist/-/plist-1.2.0.tgz", "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=", "requires": { "base64-js": "0.0.8", @@ -3360,7 +3360,7 @@ }, "properties-parser": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz", + "resolved": "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz", "integrity": "sha1-91kSVfcHq7/yJ8e1a2N9uwNzoQ8=" }, "q": { @@ -3380,17 +3380,17 @@ }, "shelljs": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=" }, "underscore": { "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" }, "unorm": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", + "resolved": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" }, "util-deprecate": { @@ -3400,7 +3400,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xmlbuilder": { @@ -3413,7 +3413,7 @@ }, "xmldom": { "version": "0.1.27", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "resolved": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" } } From ac1ed89894481a949865960bbc5b7ff31ea25cf8 Mon Sep 17 00:00:00 2001 From: Bryan Fox Date: Tue, 24 Jul 2018 13:11:05 -0400 Subject: [PATCH 02/12] Use `uid` for node primary key New nodes are no longer given an `id` prop. Edges in the network refer to the primary key (uid). --- .../ConcentricCircles/ConcentricCircles.js | 8 +- .../ConcentricCircles/NodeLayout.js | 4 +- .../ConcentricCircles.test.js.snap | 2 +- src/containers/__tests__/Field.test.js | 14 +- .../__snapshots__/Field.test.js.snap | 211 ------------------ src/ducks/modules/__tests__/network.test.js | 26 ++- src/ducks/modules/network.js | 29 +-- src/selectors/sociogram.js | 4 +- src/utils/__mocks__/uuid.js | 9 + src/utils/uidGenerator.js | 9 - 10 files changed, 50 insertions(+), 266 deletions(-) create mode 100644 src/utils/__mocks__/uuid.js delete mode 100644 src/utils/uidGenerator.js diff --git a/src/containers/ConcentricCircles/ConcentricCircles.js b/src/containers/ConcentricCircles/ConcentricCircles.js index 3c4525f439..5a776b334d 100644 --- a/src/containers/ConcentricCircles/ConcentricCircles.js +++ b/src/containers/ConcentricCircles/ConcentricCircles.js @@ -5,7 +5,7 @@ import NodeLayout from './NodeLayout'; import EdgeLayout from './EdgeLayout'; import Background from './Background'; -const Sociogram = ({ stage, prompt }) => ( +const ConcentricCircles = ({ stage, prompt }) => (
{ @@ -27,11 +27,11 @@ const Sociogram = ({ stage, prompt }) => (
); -Sociogram.propTypes = { +ConcentricCircles.propTypes = { stage: PropTypes.object.isRequired, prompt: PropTypes.object.isRequired, }; -export { Sociogram }; +export { ConcentricCircles }; -export default Sociogram; +export default ConcentricCircles; diff --git a/src/containers/ConcentricCircles/NodeLayout.js b/src/containers/ConcentricCircles/NodeLayout.js index 5a420b75be..9cb1ae7fe2 100644 --- a/src/containers/ConcentricCircles/NodeLayout.js +++ b/src/containers/ConcentricCircles/NodeLayout.js @@ -84,7 +84,7 @@ class NodeLayout extends Component { if (!allowSelect) { return; } - this.connectNode(node.id); + this.connectNode(node.uid); this.toggleHighlightAttributes(node.uid); @@ -130,7 +130,7 @@ class NodeLayout extends Component { isLinking(node) { return this.props.allowSelect && this.props.canCreateEdge && - node.id === this.state.connectFrom; + node.uid === this.state.connectFrom; } render() { diff --git a/src/containers/ConcentricCircles/__tests__/__snapshots__/ConcentricCircles.test.js.snap b/src/containers/ConcentricCircles/__tests__/__snapshots__/ConcentricCircles.test.js.snap index f0350c3fe6..847b31ac97 100644 --- a/src/containers/ConcentricCircles/__tests__/__snapshots__/ConcentricCircles.test.js.snap +++ b/src/containers/ConcentricCircles/__tests__/__snapshots__/ConcentricCircles.test.js.snap @@ -4,7 +4,7 @@ exports[` renders ok 1`] = ` ShallowWrapper { "length": 1, Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): { - it('should return renderable component', () => { - const Input = getInputComponent('Alphanumeric'); - - const subject = shallow(( - - )); - - expect(subject).toMatchSnapshot(); + it('should return a dom input', () => { + const Input = getInputComponent(); + const subject = shallow(); + expect(subject.find('input')).toHaveLength(1); }); }); diff --git a/src/containers/__tests__/__snapshots__/Field.test.js.snap b/src/containers/__tests__/__snapshots__/Field.test.js.snap index d70a5d9eab..2bbcedfc8c 100644 --- a/src/containers/__tests__/__snapshots__/Field.test.js.snap +++ b/src/containers/__tests__/__snapshots__/Field.test.js.snap @@ -56,214 +56,3 @@ ShallowWrapper { }, } `; - -exports[`getInputComponent() should return renderable component 1`] = ` -ShallowWrapper { - "length": 1, - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__):