Skip to content

Commit ae9e9ad

Browse files
committed
Save test records with mongoose
Still getting errors * duplicate error * destroyed topology error
1 parent f0c5016 commit ae9e9ad

File tree

7 files changed

+206
-11
lines changed

7 files changed

+206
-11
lines changed

features/env/database.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const {Before, AfterAll, BeforeAll} = require('cucumber');
2+
const mongoose = require('mongoose');
3+
const sinon = require('sinon');
4+
5+
let db;
6+
7+
BeforeAll(function (callback) {
8+
mongoose.connect("mongodb://localhost/hc_api_test");
9+
db = mongoose.connection;
10+
db.on('error', console.error.bind(console, 'connection error:'));
11+
db.once('open', function() {
12+
callback();
13+
});
14+
});
15+
16+
// Asynchronous Promise
17+
Before(function () {
18+
db.dropDatabase()
19+
});
20+
21+
AfterAll(function() {
22+
return db.close();
23+
});

features/env/getModel.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const sinon = require('sinon');
2+
const mongoose = require('mongoose');
3+
4+
let app = sinon.stub();
5+
sinon.stub(app, 'get').callsFake(function() {
6+
return mongoose;
7+
});
8+
9+
module.exports = function(schema) {
10+
return schema(app);
11+
}

features/env/models.js

Whitespace-only changes.

features/importPost.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Feature: Import a post from an organization and publish it in Human Connection
88
Given the Human Connection API is up and running
99
And there is a 3rd party application running, e.g. 'Democracy'
1010
And there is an organization in Human Connection with these credentials:
11-
| Email | Password |
11+
| email | password |
1212
| organization@example.com | 1234 |
1313

1414
Scenario: Get a JWT token

features/step_definitions/steps.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
const { Given, When, Then } = require('cucumber');
2+
const userSchema = require('../../human-connection-api/server/models/users.model.js');
3+
const getModel = require('../env/getModel.js');
4+
const User = getModel(userSchema);
25

36
Given('the Human Connection API is up and running', function () {
4-
// Write code here that turns the phrase above into concrete actions
5-
console.log('skipping over starting the Human Connection API');
7+
// Just documentation
68
});
79

810
Given("there is a 3rd party application running, e.g. 'Democracy'", function () {
9-
// Write code here that turns the phrase above into concrete actions
10-
console.log('skipping over starting the 3rd party API');
11-
// return 'pending';
11+
// Just documentation
1212
});
1313

1414
Given('there is an organization in Human Connection with these credentials:', function (dataTable) {
1515
// Write code here that turns the phrase above into concrete actions
16-
return 'pending';
16+
const table = dataTable.hashes()
17+
dataTable.hashes().forEach((row) => {
18+
const aUser = new User(row);
19+
aUser.save(function (err, user) {
20+
if(err) throw(err);
21+
});
22+
});
1723
});
1824

1925
Given('I am authenticated', function () {

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
"cucumber": "^4.2.1",
44
"eslint-plugin-you-dont-need-lodash-underscore": "^6.3.1",
55
"lodash": "^4.17.5",
6+
"mongoose": "^5.0.16",
67
"node-fetch": "^2.1.2",
8+
"sinon": "^4.5.0",
79
"wait-on": "^2.1.0"
810
},
911
"name": "human-connection-api-nodejs-client",

yarn.lock

Lines changed: 157 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
# yarn lockfile v1
33

44

5+
"@sinonjs/formatio@^2.0.0":
6+
version "2.0.0"
7+
resolved "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2"
8+
dependencies:
9+
samsam "1.3.0"
10+
511
acorn-jsx@^3.0.0:
612
version "3.0.1"
713
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
@@ -91,6 +97,12 @@ assertion-error-formatter@^2.0.1:
9197
pad-right "^0.2.2"
9298
repeat-string "^1.6.1"
9399

100+
101+
version "2.1.4"
102+
resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
103+
dependencies:
104+
lodash "^4.14.0"
105+
94106
asynckit@^0.4.0:
95107
version "0.4.0"
96108
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -132,6 +144,10 @@ becke-ch--regex--s0-0-v1--base--pl--lib@^1.2.0:
132144
version "1.4.0"
133145
resolved "https://registry.yarnpkg.com/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.4.0.tgz#429ceebbfa5f7e936e78d73fbdc7da7162b20e20"
134146

147+
148+
version "3.5.0"
149+
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
150+
135151
bluebird@^3.4.1:
136152
version "3.5.1"
137153
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
@@ -155,6 +171,10 @@ brace-expansion@^1.1.7:
155171
balanced-match "^1.0.0"
156172
concat-map "0.0.1"
157173

174+
bson@~1.0.4:
175+
version "1.0.6"
176+
resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.6.tgz#444db59ddd4c24f0cb063aabdc5c8c7b0ceca912"
177+
158178
buffer-from@^1.0.0:
159179
version "1.0.0"
160180
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
@@ -351,7 +371,7 @@ dashdash@^1.12.0:
351371
dependencies:
352372
assert-plus "^1.0.0"
353373

354-
debug@^2.6.8, debug@^2.6.9:
374+
debug@2.6.9, debug@^2.6.8, debug@^2.6.9:
355375
version "2.6.9"
356376
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
357377
dependencies:
@@ -383,7 +403,7 @@ delayed-stream@~1.0.0:
383403
version "1.0.0"
384404
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
385405

386-
diff@^3.0.0:
406+
diff@^3.0.0, diff@^3.1.0:
387407
version "3.5.0"
388408
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
389409

@@ -863,6 +883,10 @@ is-typedarray@~1.0.0:
863883
version "1.0.0"
864884
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
865885

886+
887+
version "0.0.1"
888+
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
889+
866890
isarray@^1.0.0, isarray@~1.0.0:
867891
version "1.0.0"
868892
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -933,6 +957,14 @@ jsprim@^1.2.2:
933957
json-schema "0.2.3"
934958
verror "1.10.0"
935959

960+
just-extend@^1.1.27:
961+
version "1.1.27"
962+
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905"
963+
964+
965+
version "2.0.6"
966+
resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.0.6.tgz#011ed59fd718bb147c63141a799fc888cd5a211b"
967+
936968
kebab-case@^1.0.0:
937969
version "1.0.0"
938970
resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.0.tgz#3f9e4990adcad0c686c0e701f7645868f75f91eb"
@@ -966,10 +998,22 @@ locate-path@^2.0.0:
966998
p-locate "^2.0.0"
967999
path-exists "^3.0.0"
9681000

1001+
[email protected], lodash.get@^4.4.2:
1002+
version "4.4.2"
1003+
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
1004+
1005+
lodash@^4.14.0:
1006+
version "4.17.10"
1007+
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
1008+
9691009
lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
9701010
version "4.17.5"
9711011
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
9721012

1013+
lolex@^2.2.0, lolex@^2.3.2:
1014+
version "2.3.2"
1015+
resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807"
1016+
9731017
lower-case@^1.1.1:
9741018
version "1.1.4"
9751019
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
@@ -1019,6 +1063,52 @@ [email protected]:
10191063
version "2.22.1"
10201064
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
10211065

1066+
1067+
version "3.0.7"
1068+
resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.0.7.tgz#a9941f14883a75768d554cef5fd67756a9cc0f25"
1069+
dependencies:
1070+
bson "~1.0.4"
1071+
require_optional "^1.0.1"
1072+
1073+
1074+
version "3.0.7"
1075+
resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.0.7.tgz#cfcbaee992d78dabca67177f8f9db9cf13ac3a44"
1076+
dependencies:
1077+
mongodb-core "3.0.7"
1078+
1079+
1080+
version "1.0.2"
1081+
resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4"
1082+
1083+
mongoose@^5.0.16:
1084+
version "5.0.16"
1085+
resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.0.16.tgz#a405ff0a6583442d9c55fead8ea4fdbdc0b4f5ba"
1086+
dependencies:
1087+
async "2.1.4"
1088+
bson "~1.0.4"
1089+
kareem "2.0.6"
1090+
lodash.get "4.4.2"
1091+
mongodb "3.0.7"
1092+
mongoose-legacy-pluralize "1.0.2"
1093+
mpath "0.4.1"
1094+
mquery "3.0.0"
1095+
ms "2.0.0"
1096+
regexp-clone "0.0.1"
1097+
sliced "1.0.1"
1098+
1099+
1100+
version "0.4.1"
1101+
resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.4.1.tgz#ed10388430380bf7bbb5be1391e5d6969cb08e89"
1102+
1103+
1104+
version "3.0.0"
1105+
resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.0.0.tgz#e5f387dbabc0b9b69859e550e810faabe0ceabb0"
1106+
dependencies:
1107+
bluebird "3.5.0"
1108+
debug "2.6.9"
1109+
regexp-clone "0.0.1"
1110+
sliced "0.0.5"
1111+
10221112
10231113
version "2.0.0"
10241114
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -1043,6 +1133,16 @@ next-tick@1:
10431133
version "1.0.0"
10441134
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
10451135

1136+
nise@^1.2.0:
1137+
version "1.3.3"
1138+
resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.3.tgz#c17a850066a8a1dfeb37f921da02441afc4a82ba"
1139+
dependencies:
1140+
"@sinonjs/formatio" "^2.0.0"
1141+
just-extend "^1.1.27"
1142+
lolex "^2.3.2"
1143+
path-to-regexp "^1.7.0"
1144+
text-encoding "^0.6.4"
1145+
10461146
no-case@^2.2.0:
10471147
version "2.3.2"
10481148
resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
@@ -1147,6 +1247,12 @@ path-parse@^1.0.5:
11471247
version "1.0.5"
11481248
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
11491249

1250+
path-to-regexp@^1.7.0:
1251+
version "1.7.0"
1252+
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
1253+
dependencies:
1254+
isarray "0.0.1"
1255+
11501256
path-type@^2.0.0:
11511257
version "2.0.0"
11521258
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
@@ -1236,6 +1342,10 @@ regenerator-runtime@^0.11.0:
12361342
version "0.11.1"
12371343
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
12381344

1345+
1346+
version "0.0.1"
1347+
resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589"
1348+
12391349
regexpp@^1.0.1:
12401350
version "1.1.0"
12411351
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
@@ -1278,10 +1388,21 @@ require-uncached@^1.0.3:
12781388
caller-path "^0.1.0"
12791389
resolve-from "^1.0.0"
12801390

1391+
require_optional@^1.0.1:
1392+
version "1.0.1"
1393+
resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
1394+
dependencies:
1395+
resolve-from "^2.0.0"
1396+
semver "^5.1.0"
1397+
12811398
resolve-from@^1.0.0:
12821399
version "1.0.1"
12831400
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
12841401

1402+
resolve-from@^2.0.0:
1403+
version "2.0.0"
1404+
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
1405+
12851406
resolve@^1.3.3, resolve@^1.5.0, resolve@^1.6.0:
12861407
version "1.7.1"
12871408
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
@@ -1329,11 +1450,15 @@ safer-buffer@^2.1.0:
13291450
version "2.1.2"
13301451
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
13311452

1453+
1454+
version "1.3.0"
1455+
resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
1456+
13321457
seed-random@~2.2.0:
13331458
version "2.2.0"
13341459
resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54"
13351460

1336-
"semver@2 || 3 || 4 || 5", semver@^5.3.0:
1461+
"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0:
13371462
version "5.5.0"
13381463
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
13391464

@@ -1355,12 +1480,32 @@ signal-exit@^3.0.2:
13551480
version "3.0.2"
13561481
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
13571482

1483+
sinon@^4.5.0:
1484+
version "4.5.0"
1485+
resolved "https://registry.yarnpkg.com/sinon/-/sinon-4.5.0.tgz#427ae312a337d3c516804ce2754e8c0d5028cb04"
1486+
dependencies:
1487+
"@sinonjs/formatio" "^2.0.0"
1488+
diff "^3.1.0"
1489+
lodash.get "^4.4.2"
1490+
lolex "^2.2.0"
1491+
nise "^1.2.0"
1492+
supports-color "^5.1.0"
1493+
type-detect "^4.0.5"
1494+
13581495
13591496
version "1.0.0"
13601497
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
13611498
dependencies:
13621499
is-fullwidth-code-point "^2.0.0"
13631500

1501+
1502+
version "0.0.5"
1503+
resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f"
1504+
1505+
1506+
version "1.0.1"
1507+
resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
1508+
13641509
13651510
version "2.1.0"
13661511
resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
@@ -1485,7 +1630,7 @@ supports-color@^2.0.0:
14851630
version "2.0.0"
14861631
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
14871632

1488-
supports-color@^5.3.0:
1633+
supports-color@^5.1.0, supports-color@^5.3.0:
14891634
version "5.4.0"
14901635
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
14911636
dependencies:
@@ -1502,6 +1647,10 @@ [email protected]:
15021647
slice-ansi "1.0.0"
15031648
string-width "^2.1.1"
15041649

1650+
text-encoding@^0.6.4:
1651+
version "0.6.4"
1652+
resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
1653+
15051654
text-table@~0.2.0:
15061655
version "0.2.0"
15071656
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -1563,6 +1712,10 @@ type-check@~0.3.2:
15631712
dependencies:
15641713
prelude-ls "~1.1.2"
15651714

1715+
type-detect@^4.0.5:
1716+
version "4.0.8"
1717+
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
1718+
15661719
typedarray@^0.0.6:
15671720
version "0.0.6"
15681721
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"

0 commit comments

Comments
 (0)