Unit tests with Enzyme
This commit is contained in:
Generated
+287
@@ -579,6 +579,17 @@
|
||||
"es-abstract": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"array.prototype.flat": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz",
|
||||
"integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"es-abstract": "^1.10.0",
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"arrify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||
@@ -2348,6 +2359,54 @@
|
||||
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
|
||||
"dev": true
|
||||
},
|
||||
"cheerio": {
|
||||
"version": "1.0.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz",
|
||||
"integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"css-select": "~1.2.0",
|
||||
"dom-serializer": "~0.1.0",
|
||||
"entities": "~1.1.1",
|
||||
"htmlparser2": "^3.9.1",
|
||||
"lodash": "^4.15.0",
|
||||
"parse5": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"domhandler": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
|
||||
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "1"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.9.2",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
|
||||
"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "^1.3.0",
|
||||
"domhandler": "^2.3.0",
|
||||
"domutils": "^1.5.1",
|
||||
"entities": "^1.1.1",
|
||||
"inherits": "^2.0.1",
|
||||
"readable-stream": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"parse5": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
|
||||
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"chokidar": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
|
||||
@@ -3422,6 +3481,12 @@
|
||||
"randombytes": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"discontinuous-range": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
|
||||
"integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=",
|
||||
"dev": true
|
||||
},
|
||||
"dns-equal": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
|
||||
@@ -3742,6 +3807,58 @@
|
||||
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
|
||||
"dev": true
|
||||
},
|
||||
"enzyme": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.4.1.tgz",
|
||||
"integrity": "sha512-XBZbyUy36WipNSBVZKIR1sg9iF6zXfkfDEzwTc10T9zhB61UPnMo+c3WE17T/jyhfmPJOz6X073NXXsR7G/1rA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array.prototype.flat": "^1.2.1",
|
||||
"cheerio": "^1.0.0-rc.2",
|
||||
"function.prototype.name": "^1.1.0",
|
||||
"has": "^1.0.3",
|
||||
"is-boolean-object": "^1.0.0",
|
||||
"is-callable": "^1.1.4",
|
||||
"is-number-object": "^1.0.3",
|
||||
"is-string": "^1.0.4",
|
||||
"is-subset": "^0.1.1",
|
||||
"lodash": "^4.17.4",
|
||||
"object-inspect": "^1.6.0",
|
||||
"object-is": "^1.0.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"object.entries": "^1.0.4",
|
||||
"object.values": "^1.0.4",
|
||||
"raf": "^3.4.0",
|
||||
"rst-selector-parser": "^2.2.3"
|
||||
}
|
||||
},
|
||||
"enzyme-adapter-react-16": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.2.0.tgz",
|
||||
"integrity": "sha512-UgBra+xZFVFbU5Tw7Inw0bPrNJhM2ru4vCoO7preX6sOicXuDbOH927QJx4pk6m6vatd8jnPXTF6/GCjzytJTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"enzyme-adapter-utils": "^1.5.0",
|
||||
"function.prototype.name": "^1.1.0",
|
||||
"object.assign": "^4.1.0",
|
||||
"object.values": "^1.0.4",
|
||||
"prop-types": "^15.6.2",
|
||||
"react-is": "^16.4.2",
|
||||
"react-reconciler": "^0.7.0",
|
||||
"react-test-renderer": "^16.0.0-0"
|
||||
}
|
||||
},
|
||||
"enzyme-adapter-utils": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.5.0.tgz",
|
||||
"integrity": "sha512-cLUaPYU8GEzAHi/1hiO+ylz4QiQWI8eb9SysAk8Tbul2O918dRf4cfD4s2BjijtwSvhapkOsPW9XRix1EXlJ1Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function.prototype.name": "^1.1.0",
|
||||
"object.assign": "^4.1.0",
|
||||
"prop-types": "^15.6.2"
|
||||
}
|
||||
},
|
||||
"errno": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
|
||||
@@ -6643,6 +6760,17 @@
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dev": true
|
||||
},
|
||||
"function.prototype.name": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz",
|
||||
"integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"function-bind": "^1.1.1",
|
||||
"is-callable": "^1.1.3"
|
||||
}
|
||||
},
|
||||
"functional-red-black-tree": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
|
||||
@@ -7647,6 +7775,12 @@
|
||||
"binary-extensions": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-boolean-object": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz",
|
||||
"integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=",
|
||||
"dev": true
|
||||
},
|
||||
"is-buffer": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
@@ -7814,6 +7948,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-number-object": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz",
|
||||
"integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=",
|
||||
"dev": true
|
||||
},
|
||||
"is-obj": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
@@ -7921,6 +8061,18 @@
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
|
||||
},
|
||||
"is-string": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz",
|
||||
"integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=",
|
||||
"dev": true
|
||||
},
|
||||
"is-subset": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
|
||||
"integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
|
||||
"dev": true
|
||||
},
|
||||
"is-svg": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
|
||||
@@ -9103,6 +9255,12 @@
|
||||
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.flattendeep": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
|
||||
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.memoize": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
|
||||
@@ -9456,6 +9614,12 @@
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"moo": {
|
||||
"version": "0.4.3",
|
||||
"resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz",
|
||||
"integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
@@ -9515,6 +9679,19 @@
|
||||
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
||||
"dev": true
|
||||
},
|
||||
"nearley": {
|
||||
"version": "2.15.1",
|
||||
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.15.1.tgz",
|
||||
"integrity": "sha512-8IUY/rUrKz2mIynUGh8k+tul1awMKEjeHHC5G3FHvvyAW6oq4mQfNp2c0BMea+sYZJvYcrrM6GmZVIle/GRXGw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"moo": "^0.4.3",
|
||||
"nomnom": "~1.6.2",
|
||||
"railroad-diagrams": "^1.0.0",
|
||||
"randexp": "0.4.6",
|
||||
"semver": "^5.4.1"
|
||||
}
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
|
||||
@@ -9620,6 +9797,30 @@
|
||||
"which": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"nomnom": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz",
|
||||
"integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"colors": "0.5.x",
|
||||
"underscore": "~1.4.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"colors": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
|
||||
"integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=",
|
||||
"dev": true
|
||||
},
|
||||
"underscore": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
|
||||
"integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"normalize-package-data": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
|
||||
@@ -9785,6 +9986,18 @@
|
||||
"integrity": "sha512-05KzQ70lSeGSrZJQXE5wNDiTkBJDlUT/myi6RX9dVIvz7a7Qh4oH93BQdiPMn27nldYvVQCKMUaM83AfizZlsQ==",
|
||||
"dev": true
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
|
||||
"integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
|
||||
"dev": true
|
||||
},
|
||||
"object-is": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
|
||||
"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
|
||||
"dev": true
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
|
||||
@@ -9800,6 +10013,30 @@
|
||||
"isobject": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"object.assign": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
|
||||
"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"function-bind": "^1.1.1",
|
||||
"has-symbols": "^1.0.0",
|
||||
"object-keys": "^1.0.11"
|
||||
}
|
||||
},
|
||||
"object.entries": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
|
||||
"integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"es-abstract": "^1.6.1",
|
||||
"function-bind": "^1.1.0",
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"object.omit": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
|
||||
@@ -9819,6 +10056,18 @@
|
||||
"isobject": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"object.values": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
|
||||
"integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"es-abstract": "^1.6.1",
|
||||
"function-bind": "^1.1.0",
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"obuf": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
|
||||
@@ -11716,6 +11965,22 @@
|
||||
"performance-now": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"railroad-diagrams": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
|
||||
"integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=",
|
||||
"dev": true
|
||||
},
|
||||
"randexp": {
|
||||
"version": "0.4.6",
|
||||
"resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
|
||||
"integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"discontinuous-range": "1.0.0",
|
||||
"ret": "~0.1.10"
|
||||
}
|
||||
},
|
||||
"randomatic": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
|
||||
@@ -11940,6 +12205,18 @@
|
||||
"prop-types": "^15.5.0"
|
||||
}
|
||||
},
|
||||
"react-reconciler": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz",
|
||||
"integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fbjs": "^0.8.16",
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
"prop-types": "^15.6.0"
|
||||
}
|
||||
},
|
||||
"react-redux": {
|
||||
"version": "5.0.7",
|
||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz",
|
||||
@@ -12804,6 +13081,16 @@
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"rst-selector-parser": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
|
||||
"integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash.flattendeep": "^4.4.0",
|
||||
"nearley": "^2.7.10"
|
||||
}
|
||||
},
|
||||
"run-async": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
"babel-core": "^6.26.3",
|
||||
"babel-eslint": "^8.2.5",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"enzyme": "^3.4.1",
|
||||
"enzyme-adapter-react-16": "^1.2.0",
|
||||
"eslint": "^5.3.0",
|
||||
"eslint-config-recommended": "^3.0.0",
|
||||
"eslint-plugin-babel": "^5.1.0",
|
||||
|
||||
@@ -6,7 +6,7 @@ import registerServiceWorker from "./registerServiceWorker";
|
||||
|
||||
import { log } from "./logging";
|
||||
log.error("myapp:SERVICE:LOGIN", `Attempt`, { user: "FK", pass: "who?" });
|
||||
log.verbose("myapp:FORM:INITIAL", "Doing render");
|
||||
log.error("myapp:FORM:INITIAL", "Doing render");
|
||||
log.info(
|
||||
"myapp:SERVICE:ERROR_STORE",
|
||||
"Reporting problem",
|
||||
|
||||
@@ -12,7 +12,7 @@ exports[`App for Regions and Countries renders correctly 1`] = `
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
Display:
|
||||
Display:
|
||||
<RegionsTable
|
||||
list={Array []}
|
||||
/>
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ exports[`CountrySelect renders correctly a countries dropdown 1`] = `
|
||||
>
|
||||
Country:
|
||||
<select
|
||||
name="selectCountry"
|
||||
onChange={[Function]}
|
||||
>
|
||||
<option
|
||||
@@ -18,7 +18,7 @@ class CountryAndRegions extends React.Component {
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
Displays: <RegionsTable list={[]} />
|
||||
Display: <RegionsTable list={[]} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -35,7 +35,7 @@ export class CountrySelect extends React.PureComponent<{
|
||||
return (
|
||||
<div className="bordered">
|
||||
Country:
|
||||
<select onChange={this.onSelect}>
|
||||
<select onChange={this.onSelect} name="selectCountry">
|
||||
<option value="">Select a country:</option>
|
||||
{sortedCountries.map(x => (
|
||||
<option
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import React from "react";
|
||||
import TestRenderer from "react-test-renderer";
|
||||
|
||||
import { CountrySelect } from "./countrySelect.component";
|
||||
|
||||
describe("CountrySelect", () => {
|
||||
it("renders correctly when loading, with no countries", () => {
|
||||
const tree = TestRenderer.create(
|
||||
<CountrySelect
|
||||
loading={true}
|
||||
onSelect={() => null}
|
||||
getCountries={() => null}
|
||||
list={[]}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders correctly a countries dropdown", () => {
|
||||
const tree = TestRenderer.create(
|
||||
<CountrySelect
|
||||
loading={false}
|
||||
onSelect={() => null}
|
||||
getCountries={() => null}
|
||||
list={[
|
||||
{
|
||||
countryCode: "UY",
|
||||
countryName: "Uruguay"
|
||||
},
|
||||
{
|
||||
countryCode: "AR",
|
||||
countryName: "Argentina"
|
||||
},
|
||||
{
|
||||
countryCode: "BR",
|
||||
countryName: "Brazil"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
@@ -1,43 +1,87 @@
|
||||
/* @flow */
|
||||
|
||||
import React from "react";
|
||||
import TestRenderer from "react-test-renderer";
|
||||
import Enzyme from "enzyme";
|
||||
import Adapter from "enzyme-adapter-react-16";
|
||||
|
||||
import { CountrySelect } from "./countrySelect.component";
|
||||
|
||||
Enzyme.configure({ adapter: new Adapter() });
|
||||
|
||||
const threeCountries = [
|
||||
{
|
||||
countryCode: "UY",
|
||||
countryName: "Uruguay"
|
||||
},
|
||||
{
|
||||
countryCode: "AR",
|
||||
countryName: "Argentina"
|
||||
},
|
||||
{
|
||||
countryCode: "BR",
|
||||
countryName: "Brazil"
|
||||
}
|
||||
];
|
||||
|
||||
describe("CountrySelect", () => {
|
||||
it("renders correctly when loading, with no countries", () => {
|
||||
const tree = TestRenderer.create(
|
||||
const mockGetCountries = jest.fn();
|
||||
const mockOnSelect = jest.fn();
|
||||
|
||||
const wrapper = Enzyme.mount(
|
||||
<CountrySelect
|
||||
loading={true}
|
||||
onSelect={() => null}
|
||||
getCountries={() => null}
|
||||
onSelect={mockOnSelect}
|
||||
getCountries={mockGetCountries}
|
||||
list={[]}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
);
|
||||
expect(wrapper.text()).toContain("Loading countries");
|
||||
expect(mockGetCountries).toHaveBeenCalledTimes(1);
|
||||
expect(mockOnSelect).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("renders correctly a countries dropdown", () => {
|
||||
const tree = TestRenderer.create(
|
||||
const mockGetCountries = jest.fn();
|
||||
const mockOnSelect = jest.fn();
|
||||
|
||||
const wrapper = Enzyme.mount(
|
||||
<CountrySelect
|
||||
loading={false}
|
||||
onSelect={() => null}
|
||||
getCountries={() => null}
|
||||
list={[
|
||||
{
|
||||
countryCode: "UY",
|
||||
countryName: "Uruguay"
|
||||
},
|
||||
{
|
||||
countryCode: "AR",
|
||||
countryName: "Argentina"
|
||||
},
|
||||
{
|
||||
countryCode: "BR",
|
||||
countryName: "Brazil"
|
||||
}
|
||||
]}
|
||||
onSelect={mockOnSelect}
|
||||
getCountries={mockGetCountries}
|
||||
list={threeCountries}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
);
|
||||
|
||||
expect(wrapper.text()).toContain("Uruguay");
|
||||
expect(wrapper.text()).toContain("Argentina");
|
||||
expect(wrapper.text()).toContain("Brazil");
|
||||
|
||||
expect(mockGetCountries).not.toHaveBeenCalled();
|
||||
expect(mockOnSelect).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("correctly calls onSelect", () => {
|
||||
const mockGetCountries = jest.fn();
|
||||
const mockOnSelect = jest.fn();
|
||||
|
||||
const wrapper = Enzyme.mount(
|
||||
<CountrySelect
|
||||
loading={false}
|
||||
onSelect={mockOnSelect}
|
||||
getCountries={mockGetCountries}
|
||||
list={threeCountries}
|
||||
/>
|
||||
);
|
||||
|
||||
wrapper
|
||||
.find("[name='selectCountry']")
|
||||
.at(0)
|
||||
.simulate("change", { target: { value: "UY" } });
|
||||
|
||||
expect(mockGetCountries).not.toHaveBeenCalled();
|
||||
expect(mockOnSelect).toHaveBeenCalledTimes(1);
|
||||
expect(mockOnSelect).toHaveBeenCalledWith("UY");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
import React from "react";
|
||||
import TestRenderer from "react-test-renderer";
|
||||
|
||||
import { RegionsTable } from "./regionsTable.component";
|
||||
|
||||
describe("RegionsTable", () => {
|
||||
it("renders correctly an empty list", () => {
|
||||
const tree = TestRenderer.create(
|
||||
<RegionsTable list={[]} />
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders correctly a list", () => {
|
||||
const tree = TestRenderer.create(
|
||||
<RegionsTable
|
||||
list={[
|
||||
{
|
||||
countryCode: "UY",
|
||||
regionCode: "10",
|
||||
regionName: "Montevideo"
|
||||
},
|
||||
{
|
||||
countryCode: "UY",
|
||||
regionCode: "9",
|
||||
regionName: "Maldonado"
|
||||
},
|
||||
{
|
||||
countryCode: "UY",
|
||||
regionCode: "5",
|
||||
regionName: "Cerro Largo"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
@@ -1,18 +1,21 @@
|
||||
/* @flow */
|
||||
|
||||
import React from "react";
|
||||
import TestRenderer from "react-test-renderer";
|
||||
import Enzyme from "enzyme";
|
||||
import Adapter from "enzyme-adapter-react-16";
|
||||
|
||||
import { RegionsTable } from "./regionsTable.component";
|
||||
|
||||
Enzyme.configure({ adapter: new Adapter() });
|
||||
|
||||
describe("RegionsTable", () => {
|
||||
it("renders correctly an empty list", () => {
|
||||
const tree = TestRenderer.create(
|
||||
<RegionsTable list={[]} />
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
const wrapper = Enzyme.render(<RegionsTable list={[]} />);
|
||||
expect(wrapper.text()).toContain("No regions.");
|
||||
});
|
||||
|
||||
it("renders correctly a list", () => {
|
||||
const tree = TestRenderer.create(
|
||||
const wrapper = Enzyme.render(
|
||||
<RegionsTable
|
||||
list={[
|
||||
{
|
||||
@@ -32,7 +35,9 @@ describe("RegionsTable", () => {
|
||||
}
|
||||
]}
|
||||
/>
|
||||
).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
);
|
||||
expect(wrapper.text()).toContain("Montevideo");
|
||||
expect(wrapper.text()).toContain("Maldonado");
|
||||
expect(wrapper.text()).toContain("Cerro Largo");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user