@livepreso/api 6.48.1 → 6.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.lintstagedrc.js +6 -0
  2. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
  3. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
  4. package/.rush/temp/operation/build/all.log +6 -0
  5. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  6. package/.rush/temp/operation/build/state.json +3 -0
  7. package/.rush/temp/shrinkwrap-deps.json +1131 -1013
  8. package/CHANGELOG.json +20 -0
  9. package/CHANGELOG.md +9 -1
  10. package/bin/test.sh +0 -0
  11. package/cjs/api.js +3 -18
  12. package/cjs/api.js.map +1 -1
  13. package/cjs/api.spec.js +0 -4
  14. package/cjs/api.spec.js.map +1 -1
  15. package/cjs/auth.js +2 -29
  16. package/cjs/auth.js.map +1 -1
  17. package/cjs/auth.spec.js +55 -80
  18. package/cjs/auth.spec.js.map +1 -1
  19. package/cjs/caching.js +2 -7
  20. package/cjs/caching.js.map +1 -1
  21. package/cjs/collections/activity.js +18 -58
  22. package/cjs/collections/activity.js.map +1 -1
  23. package/cjs/collections/adjunct-sections.js +2 -11
  24. package/cjs/collections/adjunct-sections.js.map +1 -1
  25. package/cjs/collections/adjunct-slides.js +2 -11
  26. package/cjs/collections/adjunct-slides.js.map +1 -1
  27. package/cjs/collections/adjunct-sub-slides.js +2 -10
  28. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  29. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  30. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  31. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  32. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  33. package/cjs/collections/appointment-editors.js +1 -10
  34. package/cjs/collections/appointment-editors.js.map +1 -1
  35. package/cjs/collections/appointment-section-tags.js +1 -9
  36. package/cjs/collections/appointment-section-tags.js.map +1 -1
  37. package/cjs/collections/appointment-slide-tags.js +1 -9
  38. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  39. package/cjs/collections/appointment-tags.js +69 -108
  40. package/cjs/collections/appointment-tags.js.map +1 -1
  41. package/cjs/collections/appointment-templates.js +1 -10
  42. package/cjs/collections/appointment-templates.js.map +1 -1
  43. package/cjs/collections/appointments.js +9 -29
  44. package/cjs/collections/appointments.js.map +1 -1
  45. package/cjs/collections/assets.js +1 -9
  46. package/cjs/collections/assets.js.map +1 -1
  47. package/cjs/collections/auto-adjuncts.js +6 -21
  48. package/cjs/collections/auto-adjuncts.js.map +1 -1
  49. package/cjs/collections/base.js +54 -118
  50. package/cjs/collections/base.js.map +1 -1
  51. package/cjs/collections/base.spec.js +195 -242
  52. package/cjs/collections/base.spec.js.map +1 -1
  53. package/cjs/collections/cms-vals.js +4 -16
  54. package/cjs/collections/cms-vals.js.map +1 -1
  55. package/cjs/collections/contact-phones.js +1 -9
  56. package/cjs/collections/contact-phones.js.map +1 -1
  57. package/cjs/collections/contacts.js +1 -9
  58. package/cjs/collections/contacts.js.map +1 -1
  59. package/cjs/collections/created-assets.js +1 -10
  60. package/cjs/collections/created-assets.js.map +1 -1
  61. package/cjs/collections/customers.js +1 -9
  62. package/cjs/collections/customers.js.map +1 -1
  63. package/cjs/collections/deck-notes.js +1 -10
  64. package/cjs/collections/deck-notes.js.map +1 -1
  65. package/cjs/collections/deck-version-screenshots.js +4 -17
  66. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  67. package/cjs/collections/deck-versions.js +5 -20
  68. package/cjs/collections/deck-versions.js.map +1 -1
  69. package/cjs/collections/decks.js +1 -9
  70. package/cjs/collections/decks.js.map +1 -1
  71. package/cjs/collections/deleted-assets.js +1 -10
  72. package/cjs/collections/deleted-assets.js.map +1 -1
  73. package/cjs/collections/dispatches.js +1 -13
  74. package/cjs/collections/dispatches.js.map +1 -1
  75. package/cjs/collections/event-objects.js +1 -9
  76. package/cjs/collections/event-objects.js.map +1 -1
  77. package/cjs/collections/events.js +1 -9
  78. package/cjs/collections/events.js.map +1 -1
  79. package/cjs/collections/groups.js +1 -9
  80. package/cjs/collections/groups.js.map +1 -1
  81. package/cjs/collections/images.js +1 -9
  82. package/cjs/collections/images.js.map +1 -1
  83. package/cjs/collections/locations.js +1 -9
  84. package/cjs/collections/locations.js.map +1 -1
  85. package/cjs/collections/opportunities.js +1 -9
  86. package/cjs/collections/opportunities.js.map +1 -1
  87. package/cjs/collections/pack-diffs.js +1 -9
  88. package/cjs/collections/pack-diffs.js.map +1 -1
  89. package/cjs/collections/packs.js +1 -9
  90. package/cjs/collections/packs.js.map +1 -1
  91. package/cjs/collections/presets.js +1 -9
  92. package/cjs/collections/presets.js.map +1 -1
  93. package/cjs/collections/section-selections.js +2 -10
  94. package/cjs/collections/section-selections.js.map +1 -1
  95. package/cjs/collections/sections.js +1 -9
  96. package/cjs/collections/sections.js.map +1 -1
  97. package/cjs/collections/signers.js +1 -9
  98. package/cjs/collections/signers.js.map +1 -1
  99. package/cjs/collections/signing-backends.js +1 -9
  100. package/cjs/collections/signing-backends.js.map +1 -1
  101. package/cjs/collections/signing-requests.js +1 -9
  102. package/cjs/collections/signing-requests.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +2 -10
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +0 -96
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +19 -57
  124. package/cjs/fixtures.js.map +1 -1
  125. package/cjs/index.js +0 -12
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +7 -25
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +4 -11
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +7 -27
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +11 -29
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +6 -19
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +6 -19
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +5 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +7 -23
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-editor.js +1 -14
  156. package/cjs/models/appointment-editor.js.map +1 -1
  157. package/cjs/models/appointment-section-tags.js +1 -13
  158. package/cjs/models/appointment-section-tags.js.map +1 -1
  159. package/cjs/models/appointment-slide-tags.js +1 -13
  160. package/cjs/models/appointment-slide-tags.js.map +1 -1
  161. package/cjs/models/appointment-stats.js +1 -11
  162. package/cjs/models/appointment-stats.js.map +1 -1
  163. package/cjs/models/appointment-tags.js +1 -10
  164. package/cjs/models/appointment-tags.js.map +1 -1
  165. package/cjs/models/appointment-template.js +1 -6
  166. package/cjs/models/appointment-template.js.map +1 -1
  167. package/cjs/models/appointment-viewing.js +1 -8
  168. package/cjs/models/appointment-viewing.js.map +1 -1
  169. package/cjs/models/appointment.js +24 -97
  170. package/cjs/models/appointment.js.map +1 -1
  171. package/cjs/models/asset.js +1 -12
  172. package/cjs/models/asset.js.map +1 -1
  173. package/cjs/models/auto-adjunct-key-check.js +1 -15
  174. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  175. package/cjs/models/auto-adjunct.js +1 -13
  176. package/cjs/models/auto-adjunct.js.map +1 -1
  177. package/cjs/models/base.js +86 -216
  178. package/cjs/models/base.js.map +1 -1
  179. package/cjs/models/base.spec.js +0 -31
  180. package/cjs/models/base.spec.js.map +1 -1
  181. package/cjs/models/choicelist.js +1 -8
  182. package/cjs/models/choicelist.js.map +1 -1
  183. package/cjs/models/cms-val.js +5 -26
  184. package/cjs/models/cms-val.js.map +1 -1
  185. package/cjs/models/cms-val.spec.js +13 -20
  186. package/cjs/models/cms-val.spec.js.map +1 -1
  187. package/cjs/models/contact-phone.js +1 -13
  188. package/cjs/models/contact-phone.js.map +1 -1
  189. package/cjs/models/contact.js +1 -18
  190. package/cjs/models/contact.js.map +1 -1
  191. package/cjs/models/customer.js +3 -30
  192. package/cjs/models/customer.js.map +1 -1
  193. package/cjs/models/deck-note.js +1 -9
  194. package/cjs/models/deck-note.js.map +1 -1
  195. package/cjs/models/deck-tags.js +1 -12
  196. package/cjs/models/deck-tags.js.map +1 -1
  197. package/cjs/models/deck-version-screenshot.js +1 -13
  198. package/cjs/models/deck-version-screenshot.js.map +1 -1
  199. package/cjs/models/deck-version.js +13 -38
  200. package/cjs/models/deck-version.js.map +1 -1
  201. package/cjs/models/deck.js +1 -14
  202. package/cjs/models/deck.js.map +1 -1
  203. package/cjs/models/dispatch-preview.js +1 -13
  204. package/cjs/models/dispatch-preview.js.map +1 -1
  205. package/cjs/models/dispatch.js +1 -25
  206. package/cjs/models/dispatch.js.map +1 -1
  207. package/cjs/models/envs.js +1 -6
  208. package/cjs/models/envs.js.map +1 -1
  209. package/cjs/models/event-object.js +1 -11
  210. package/cjs/models/event-object.js.map +1 -1
  211. package/cjs/models/event.js +1 -13
  212. package/cjs/models/event.js.map +1 -1
  213. package/cjs/models/feed-data.js +1 -13
  214. package/cjs/models/feed-data.js.map +1 -1
  215. package/cjs/models/file.js +1 -11
  216. package/cjs/models/file.js.map +1 -1
  217. package/cjs/models/group.js +1 -11
  218. package/cjs/models/group.js.map +1 -1
  219. package/cjs/models/handover.js +1 -13
  220. package/cjs/models/handover.js.map +1 -1
  221. package/cjs/models/hosted-preso.js +1 -15
  222. package/cjs/models/hosted-preso.js.map +1 -1
  223. package/cjs/models/image.js +1 -16
  224. package/cjs/models/image.js.map +1 -1
  225. package/cjs/models/location.js +1 -13
  226. package/cjs/models/location.js.map +1 -1
  227. package/cjs/models/manifest-json.js +25 -84
  228. package/cjs/models/manifest-json.js.map +1 -1
  229. package/cjs/models/onshare.js +1 -14
  230. package/cjs/models/onshare.js.map +1 -1
  231. package/cjs/models/opportunity.js +1 -14
  232. package/cjs/models/opportunity.js.map +1 -1
  233. package/cjs/models/pack-diff.js +1 -14
  234. package/cjs/models/pack-diff.js.map +1 -1
  235. package/cjs/models/pack.js +1 -12
  236. package/cjs/models/pack.js.map +1 -1
  237. package/cjs/models/preset.js +1 -19
  238. package/cjs/models/preset.js.map +1 -1
  239. package/cjs/models/refresh-request.js +1 -11
  240. package/cjs/models/refresh-request.js.map +1 -1
  241. package/cjs/models/room.js +1 -9
  242. package/cjs/models/room.js.map +1 -1
  243. package/cjs/models/salesforce-lookup.js +1 -12
  244. package/cjs/models/salesforce-lookup.js.map +1 -1
  245. package/cjs/models/section-selection.js +7 -15
  246. package/cjs/models/section-selection.js.map +1 -1
  247. package/cjs/models/section.js +1 -14
  248. package/cjs/models/section.js.map +1 -1
  249. package/cjs/models/signer.js +1 -10
  250. package/cjs/models/signer.js.map +1 -1
  251. package/cjs/models/signing-backend.js +1 -9
  252. package/cjs/models/signing-backend.js.map +1 -1
  253. package/cjs/models/signing-request.js +1 -13
  254. package/cjs/models/signing-request.js.map +1 -1
  255. package/cjs/models/slide-selection.js +7 -15
  256. package/cjs/models/slide-selection.js.map +1 -1
  257. package/cjs/models/slide.js +1 -14
  258. package/cjs/models/slide.js.map +1 -1
  259. package/cjs/models/snapshot.js +3 -16
  260. package/cjs/models/snapshot.js.map +1 -1
  261. package/cjs/models/snapshot.spec.js +26 -33
  262. package/cjs/models/snapshot.spec.js.map +1 -1
  263. package/cjs/models/sub-slide.js +1 -12
  264. package/cjs/models/sub-slide.js.map +1 -1
  265. package/cjs/models/support-ticket.js +1 -11
  266. package/cjs/models/support-ticket.js.map +1 -1
  267. package/cjs/models/tag.js +1 -13
  268. package/cjs/models/tag.js.map +1 -1
  269. package/cjs/models/team.js +1 -13
  270. package/cjs/models/team.js.map +1 -1
  271. package/cjs/models/template.js +49 -79
  272. package/cjs/models/template.js.map +1 -1
  273. package/cjs/models/tenancy.js +1 -11
  274. package/cjs/models/tenancy.js.map +1 -1
  275. package/cjs/models/timing-log.js +23 -80
  276. package/cjs/models/timing-log.js.map +1 -1
  277. package/cjs/models/timing-log.spec.js +25 -38
  278. package/cjs/models/timing-log.spec.js.map +1 -1
  279. package/cjs/models/token.js +1 -11
  280. package/cjs/models/token.js.map +1 -1
  281. package/cjs/models/transcribe-socket.js +1 -8
  282. package/cjs/models/transcribe-socket.js.map +1 -1
  283. package/cjs/models/upload.js +1 -7
  284. package/cjs/models/upload.js.map +1 -1
  285. package/cjs/models/user.js +1 -29
  286. package/cjs/models/user.js.map +1 -1
  287. package/cjs/models/user.spec.js +22 -32
  288. package/cjs/models/user.spec.js.map +1 -1
  289. package/cjs/models.js +0 -140
  290. package/cjs/models.js.map +1 -1
  291. package/cjs/presentation/appointment-presentation.js +9 -35
  292. package/cjs/presentation/appointment-presentation.js.map +1 -1
  293. package/cjs/presentation/base-presentation-collection.js +1 -7
  294. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  295. package/cjs/presentation/base-presentation-model.js +24 -67
  296. package/cjs/presentation/base-presentation-model.js.map +1 -1
  297. package/cjs/presentation/base-presentation-model.spec.js +5 -27
  298. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-deck.js +41 -82
  300. package/cjs/presentation/presentation-deck.js.map +1 -1
  301. package/cjs/presentation/presentation-deck.spec.js +75 -98
  302. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  303. package/cjs/presentation/presentation-decks.js +1 -9
  304. package/cjs/presentation/presentation-decks.js.map +1 -1
  305. package/cjs/presentation/presentation-section.js +12 -74
  306. package/cjs/presentation/presentation-section.js.map +1 -1
  307. package/cjs/presentation/presentation-section.spec.js +211 -264
  308. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  309. package/cjs/presentation/presentation-sections.js +1 -9
  310. package/cjs/presentation/presentation-sections.js.map +1 -1
  311. package/cjs/presentation/presentation-slide.js +23 -77
  312. package/cjs/presentation/presentation-slide.js.map +1 -1
  313. package/cjs/presentation/presentation-slide.spec.js +144 -182
  314. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  315. package/cjs/presentation/presentation-slides.js +1 -9
  316. package/cjs/presentation/presentation-slides.js.map +1 -1
  317. package/cjs/presentation/presentation-subslide.js +3 -23
  318. package/cjs/presentation/presentation-subslide.js.map +1 -1
  319. package/cjs/presentation/presentation-subslide.spec.js +106 -130
  320. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  321. package/cjs/presentation/presentation-subslides.js +1 -9
  322. package/cjs/presentation/presentation-subslides.js.map +1 -1
  323. package/cjs/presentation/presentation.js +64 -118
  324. package/cjs/presentation/presentation.js.map +1 -1
  325. package/cjs/presentation.js +0 -20
  326. package/cjs/presentation.js.map +1 -1
  327. package/cjs/selections.js +10 -36
  328. package/cjs/selections.js.map +1 -1
  329. package/cjs/state-register.js +3 -11
  330. package/cjs/state-register.js.map +1 -1
  331. package/cjs/sync.js +32 -76
  332. package/cjs/sync.js.map +1 -1
  333. package/cjs/utils.js +21 -49
  334. package/cjs/utils.js.map +1 -1
  335. package/cjs/utils.spec.js +0 -4
  336. package/cjs/utils.spec.js.map +1 -1
  337. package/eslint.config.mjs +10 -0
  338. package/package.json +8 -9
  339. package/rush-logs/api.build.cache.log +1 -0
  340. package/rush-logs/api.build.log +6 -0
  341. package/rush-logs/api.test.cache.log +1 -0
  342. package/rush-logs/api.test.log +1 -0
  343. package/src/collections/adjunct-sections.js +3 -3
  344. package/src/collections/adjunct-slides.js +3 -3
  345. package/src/collections/adjunct-sub-slides.js +3 -3
  346. package/src/collections/base.js +14 -0
  347. package/src/collections/section-selections.js +3 -3
  348. package/src/collections/slide-selections.js +3 -3
  349. package/src/fixtures.js +8 -1
  350. package/src/models/adjunct-section.js +6 -0
  351. package/src/models/adjunct-slide.js +6 -0
  352. package/src/models/adjunct-sub-slide.js +5 -0
  353. package/src/models/adjunct.js +1 -1
  354. package/src/models/appointment.js +2 -0
  355. package/src/models/base.js +6 -2
  356. package/src/models/deck-version.js +7 -3
  357. package/src/models/manifest-json.js +1 -1
  358. package/src/models/section-selection.js +6 -0
  359. package/src/models/slide-selection.js +6 -0
  360. package/src/presentation/presentation-section.js +4 -0
  361. package/src/presentation/presentation-slide.js +8 -0
  362. package/src/presentation/presentation-slide.spec.js +2 -0
  363. package/.eslintrc.js +0 -8
  364. package/.gitlab-ci.yml +0 -4
  365. package/.husky/pre-commit +0 -4
@@ -1,29 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
6
  var _ampersandRestCollection = _interopRequireDefault(require("ampersand-rest-collection"));
10
-
11
7
  var _base = require("./base.js");
12
-
13
8
  var _base2 = require("../models/base.js");
14
-
15
9
  var _api = require("sp-test/api");
16
-
17
10
  var _bluebird = _interopRequireDefault(require("bluebird"));
18
-
19
11
  var _testdouble = _interopRequireDefault(require("testdouble"));
20
-
21
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
22
-
23
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
-
25
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
-
12
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
15
  it("should parse an array of urls into models", function () {
28
16
  (0, _api.G)(_base2.BaseModel, "TestModel").extend({
29
17
  modelName: "tests"
@@ -34,117 +22,100 @@ it("should parse an array of urls into models", function () {
34
22
  var collection = new Collection(["/api/tests/1/", "/api/tests/2/"]);
35
23
  expect(collection.models).toHaveLength(2);
36
24
  });
37
- it("should fetch the individual models in the collection", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
25
+ it("should fetch the individual models in the collection", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
38
26
  var Collection, collection, model1Fetch, model2Fetch;
39
27
  return _regenerator.default.wrap(function _callee$(_context) {
40
- while (1) {
41
- switch (_context.prev = _context.next) {
42
- case 0:
43
- (0, _api.G)(_base2.BaseModel, "TestModel");
44
- Collection = (0, _api.G)(_base.BaseCollection).extend({
45
- model: "TestModel"
46
- });
47
- collection = new Collection([{
48
- id: 1
49
- }, {
50
- id: 2
51
- }]);
52
- model1Fetch = _testdouble.default.replace(collection.models[0], "fetch");
53
- model2Fetch = _testdouble.default.replace(collection.models[1], "fetch");
54
- _context.next = 7;
55
- return collection.fetchModels();
56
-
57
- case 7:
58
- _testdouble.default.verify(model1Fetch({}));
59
-
60
- _testdouble.default.verify(model2Fetch({}));
61
-
62
- case 9:
63
- case "end":
64
- return _context.stop();
65
- }
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ (0, _api.G)(_base2.BaseModel, "TestModel");
31
+ Collection = (0, _api.G)(_base.BaseCollection).extend({
32
+ model: "TestModel"
33
+ });
34
+ collection = new Collection([{
35
+ id: 1
36
+ }, {
37
+ id: 2
38
+ }]);
39
+ model1Fetch = _testdouble.default.replace(collection.models[0], "fetch");
40
+ model2Fetch = _testdouble.default.replace(collection.models[1], "fetch");
41
+ _context.next = 7;
42
+ return collection.fetchModels();
43
+ case 7:
44
+ _testdouble.default.verify(model1Fetch({}));
45
+ _testdouble.default.verify(model2Fetch({}));
46
+ case 9:
47
+ case "end":
48
+ return _context.stop();
66
49
  }
67
50
  }, _callee);
68
51
  })));
69
- it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
52
+ it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
70
53
  var Model, Collection, collection, _iterator, _step, model;
71
-
72
54
  return _regenerator.default.wrap(function _callee2$(_context2) {
73
- while (1) {
74
- switch (_context2.prev = _context2.next) {
75
- case 0:
76
- Model = (0, _api.G)(_base2.BaseModel.extend({
77
- modelName: "test"
78
- }), "TestModel");
79
- Collection = (0, _api.G)(_base.BaseCollection).extend({
80
- model: "TestModel"
81
- });
82
- Collection.respondWith(["/api/test/1/", "/api/test/2/"]);
83
- collection = new Collection();
84
- _context2.next = 6;
85
- return collection.fetch();
86
-
87
- case 6:
88
- expect(collection.models).toHaveLength(2);
89
- _iterator = _createForOfIteratorHelper(collection.models);
90
-
91
- try {
92
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
93
- model = _step.value;
94
- expect(model).toBeInstanceOf(Model);
95
- }
96
- } catch (err) {
97
- _iterator.e(err);
98
- } finally {
99
- _iterator.f();
55
+ while (1) switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ Model = (0, _api.G)(_base2.BaseModel.extend({
58
+ modelName: "test"
59
+ }), "TestModel");
60
+ Collection = (0, _api.G)(_base.BaseCollection).extend({
61
+ model: "TestModel"
62
+ });
63
+ Collection.respondWith(["/api/test/1/", "/api/test/2/"]);
64
+ collection = new Collection();
65
+ _context2.next = 6;
66
+ return collection.fetch();
67
+ case 6:
68
+ expect(collection.models).toHaveLength(2);
69
+ _iterator = _createForOfIteratorHelper(collection.models);
70
+ try {
71
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
72
+ model = _step.value;
73
+ expect(model).toBeInstanceOf(Model);
100
74
  }
101
-
102
- case 9:
103
- case "end":
104
- return _context2.stop();
105
- }
75
+ } catch (err) {
76
+ _iterator.e(err);
77
+ } finally {
78
+ _iterator.f();
79
+ }
80
+ case 9:
81
+ case "end":
82
+ return _context2.stop();
106
83
  }
107
84
  }, _callee2);
108
85
  })));
109
- it("should convert fetched objects into models", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
86
+ it("should convert fetched objects into models", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
110
87
  var Model, Collection, collection, _iterator2, _step2, model;
111
-
112
88
  return _regenerator.default.wrap(function _callee3$(_context3) {
113
- while (1) {
114
- switch (_context3.prev = _context3.next) {
115
- case 0:
116
- Model = (0, _api.G)(_base2.BaseModel, "TestModel");
117
- Collection = (0, _api.G)(_base.BaseCollection.extend({
118
- model: "TestModel"
119
- }));
120
- Collection.respondWith([{
121
- id: 1
122
- }, {
123
- id: 2
124
- }]);
125
- collection = new Collection();
126
- _context3.next = 6;
127
- return collection.fetch();
128
-
129
- case 6:
130
- expect(collection.models).toHaveLength(2);
131
- _iterator2 = _createForOfIteratorHelper(collection.models);
132
-
133
- try {
134
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
135
- model = _step2.value;
136
- expect(model).toBeInstanceOf(Model);
137
- }
138
- } catch (err) {
139
- _iterator2.e(err);
140
- } finally {
141
- _iterator2.f();
89
+ while (1) switch (_context3.prev = _context3.next) {
90
+ case 0:
91
+ Model = (0, _api.G)(_base2.BaseModel, "TestModel");
92
+ Collection = (0, _api.G)(_base.BaseCollection.extend({
93
+ model: "TestModel"
94
+ }));
95
+ Collection.respondWith([{
96
+ id: 1
97
+ }, {
98
+ id: 2
99
+ }]);
100
+ collection = new Collection();
101
+ _context3.next = 6;
102
+ return collection.fetch();
103
+ case 6:
104
+ expect(collection.models).toHaveLength(2);
105
+ _iterator2 = _createForOfIteratorHelper(collection.models);
106
+ try {
107
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
108
+ model = _step2.value;
109
+ expect(model).toBeInstanceOf(Model);
142
110
  }
143
-
144
- case 9:
145
- case "end":
146
- return _context3.stop();
147
- }
111
+ } catch (err) {
112
+ _iterator2.e(err);
113
+ } finally {
114
+ _iterator2.f();
115
+ }
116
+ case 9:
117
+ case "end":
118
+ return _context3.stop();
148
119
  }
149
120
  }, _callee3);
150
121
  })));
@@ -225,8 +196,8 @@ it("should be empty on initialize", function () {
225
196
  expect(collection.length).toEqual(0);
226
197
  });
227
198
  it("should be not 'areModelsFetched' if all models are just a url or integer", function () {
228
- var AppointmentCollection = (0, _api.G)("AppointmentCollection"); // A string or an integer should be considered not fetched
229
-
199
+ var AppointmentCollection = (0, _api.G)("AppointmentCollection");
200
+ // A string or an integer should be considered not fetched
230
201
  var collection = new AppointmentCollection(["/api/appointments/1/", 2]);
231
202
  expect(collection.areModelsFetched()).toBe(false);
232
203
  });
@@ -242,158 +213,140 @@ it("should be 'areModelsFetched' if models are objects", function () {
242
213
  }]);
243
214
  expect(collection.areModelsFetched()).toBe(true);
244
215
  });
245
-
246
216
  var mockFetchResults = function mockFetchResults(dataFn) {
247
217
  jest.spyOn(_ampersandRestCollection.default.prototype, "fetch").mockImplementation(function (opts) {
248
218
  var fetchResults = dataFn(opts);
249
219
  return _bluebird.default.resolve(fetchResults);
250
220
  });
251
221
  };
252
-
253
222
  describe("fetchAll", function () {
254
- it("calls Collection.prototype.fetch", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
223
+ it("calls Collection.prototype.fetch", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
255
224
  var Collection, baseCollection;
256
225
  return _regenerator.default.wrap(function _callee4$(_context4) {
257
- while (1) {
258
- switch (_context4.prev = _context4.next) {
259
- case 0:
260
- mockFetchResults(function () {
261
- return {
262
- results: [{
263
- id: 20
264
- }, {
265
- id: 21
266
- }, {
267
- id: 22
268
- }]
269
- };
270
- });
271
- (0, _api.G)(_base2.BaseModel, "TestModel");
272
- Collection = (0, _api.G)(_base.BaseCollection.extend({
273
- model: "TestModel"
274
- }));
275
- baseCollection = new Collection();
276
- _context4.next = 6;
277
- return baseCollection.fetchAll();
278
-
279
- case 6:
280
- expect(baseCollection.length).toEqual(3);
281
- expect(baseCollection.first().id).toEqual(20);
282
-
283
- case 8:
284
- case "end":
285
- return _context4.stop();
286
- }
226
+ while (1) switch (_context4.prev = _context4.next) {
227
+ case 0:
228
+ mockFetchResults(function () {
229
+ return {
230
+ results: [{
231
+ id: 20
232
+ }, {
233
+ id: 21
234
+ }, {
235
+ id: 22
236
+ }]
237
+ };
238
+ });
239
+ (0, _api.G)(_base2.BaseModel, "TestModel");
240
+ Collection = (0, _api.G)(_base.BaseCollection.extend({
241
+ model: "TestModel"
242
+ }));
243
+ baseCollection = new Collection();
244
+ _context4.next = 6;
245
+ return baseCollection.fetchAll();
246
+ case 6:
247
+ expect(baseCollection.length).toEqual(3);
248
+ expect(baseCollection.first().id).toEqual(20);
249
+ case 8:
250
+ case "end":
251
+ return _context4.stop();
287
252
  }
288
253
  }, _callee4);
289
254
  })));
290
- it("adds results to existing results", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
255
+ it("adds results to existing results", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
291
256
  var Collection, baseCollection;
292
257
  return _regenerator.default.wrap(function _callee5$(_context5) {
293
- while (1) {
294
- switch (_context5.prev = _context5.next) {
295
- case 0:
296
- mockFetchResults(function () {
297
- return {
298
- results: [{
299
- id: 22
300
- }]
301
- };
302
- });
303
- (0, _api.G)(_base2.BaseModel, "TestModel");
304
- Collection = (0, _api.G)(_base.BaseCollection.extend({
305
- model: "TestModel"
306
- }));
307
- baseCollection = new Collection([{
308
- id: 15
309
- }]);
310
- _context5.next = 6;
311
- return baseCollection.fetchAll();
312
-
313
- case 6:
314
- expect(baseCollection.length).toEqual(2); // The models are sorted by ID
315
-
316
- expect(baseCollection.first().id).toEqual(15);
317
- expect(baseCollection.last().id).toEqual(22);
318
-
319
- case 9:
320
- case "end":
321
- return _context5.stop();
322
- }
258
+ while (1) switch (_context5.prev = _context5.next) {
259
+ case 0:
260
+ mockFetchResults(function () {
261
+ return {
262
+ results: [{
263
+ id: 22
264
+ }]
265
+ };
266
+ });
267
+ (0, _api.G)(_base2.BaseModel, "TestModel");
268
+ Collection = (0, _api.G)(_base.BaseCollection.extend({
269
+ model: "TestModel"
270
+ }));
271
+ baseCollection = new Collection([{
272
+ id: 15
273
+ }]);
274
+ _context5.next = 6;
275
+ return baseCollection.fetchAll();
276
+ case 6:
277
+ expect(baseCollection.length).toEqual(2);
278
+ // The models are sorted by ID
279
+ expect(baseCollection.first().id).toEqual(15);
280
+ expect(baseCollection.last().id).toEqual(22);
281
+ case 9:
282
+ case "end":
283
+ return _context5.stop();
323
284
  }
324
285
  }, _callee5);
325
286
  })));
326
- it("fetches multiple pages", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
287
+ it("fetches multiple pages", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
327
288
  var Collection, baseCollection;
328
289
  return _regenerator.default.wrap(function _callee6$(_context6) {
329
- while (1) {
330
- switch (_context6.prev = _context6.next) {
331
- case 0:
332
- mockFetchResults(function (opts) {
333
- var page = opts.data.page || 1;
334
- var fetchResults = {
335
- total_pages: 5,
336
- page: page,
337
- results: [{
338
- id: page + 10
339
- }]
340
- };
341
- return _bluebird.default.resolve(fetchResults);
342
- });
343
- (0, _api.G)(_base2.BaseModel, "TestModel");
344
- Collection = (0, _api.G)(_base.BaseCollection.extend({
345
- model: "TestModel"
346
- }));
347
- baseCollection = new Collection();
348
- _context6.next = 6;
349
- return baseCollection.fetchAll();
350
-
351
- case 6:
352
- expect(baseCollection.length).toEqual(5);
353
- expect(baseCollection.first().id).toEqual(11);
354
- expect(baseCollection.last().id).toEqual(15);
355
-
356
- case 9:
357
- case "end":
358
- return _context6.stop();
359
- }
290
+ while (1) switch (_context6.prev = _context6.next) {
291
+ case 0:
292
+ mockFetchResults(function (opts) {
293
+ var page = opts.data.page || 1;
294
+ var fetchResults = {
295
+ total_pages: 5,
296
+ page: page,
297
+ results: [{
298
+ id: page + 10
299
+ }]
300
+ };
301
+ return _bluebird.default.resolve(fetchResults);
302
+ });
303
+ (0, _api.G)(_base2.BaseModel, "TestModel");
304
+ Collection = (0, _api.G)(_base.BaseCollection.extend({
305
+ model: "TestModel"
306
+ }));
307
+ baseCollection = new Collection();
308
+ _context6.next = 6;
309
+ return baseCollection.fetchAll();
310
+ case 6:
311
+ expect(baseCollection.length).toEqual(5);
312
+ expect(baseCollection.first().id).toEqual(11);
313
+ expect(baseCollection.last().id).toEqual(15);
314
+ case 9:
315
+ case "end":
316
+ return _context6.stop();
360
317
  }
361
318
  }, _callee6);
362
319
  })));
363
- it("stops fetching pages at the hardcoded limit", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
320
+ it("stops fetching pages at the hardcoded limit", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
364
321
  var Collection, baseCollection;
365
322
  return _regenerator.default.wrap(function _callee7$(_context7) {
366
- while (1) {
367
- switch (_context7.prev = _context7.next) {
368
- case 0:
369
- mockFetchResults(function (opts) {
370
- var page = opts.data.page || 1;
371
- var fetchResults = {
372
- total_pages: 50,
373
- page: page,
374
- results: [{
375
- id: page + 10
376
- }]
377
- };
378
- return _bluebird.default.resolve(fetchResults);
379
- });
380
- (0, _api.G)(_base2.BaseModel, "TestModel");
381
- Collection = (0, _api.G)(_base.BaseCollection.extend({
382
- model: "TestModel"
383
- }));
384
- baseCollection = new Collection();
385
- _context7.next = 6;
386
- return baseCollection.fetchAll();
387
-
388
- case 6:
389
- expect(baseCollection.length).toEqual(20);
390
- expect(baseCollection.first().id).toEqual(11);
391
- expect(baseCollection.last().id).toEqual(30);
392
-
393
- case 9:
394
- case "end":
395
- return _context7.stop();
396
- }
323
+ while (1) switch (_context7.prev = _context7.next) {
324
+ case 0:
325
+ mockFetchResults(function (opts) {
326
+ var page = opts.data.page || 1;
327
+ var fetchResults = {
328
+ total_pages: 50,
329
+ page: page,
330
+ results: [{
331
+ id: page + 10
332
+ }]
333
+ };
334
+ return _bluebird.default.resolve(fetchResults);
335
+ });
336
+ (0, _api.G)(_base2.BaseModel, "TestModel");
337
+ Collection = (0, _api.G)(_base.BaseCollection.extend({
338
+ model: "TestModel"
339
+ }));
340
+ baseCollection = new Collection();
341
+ _context7.next = 6;
342
+ return baseCollection.fetchAll();
343
+ case 6:
344
+ expect(baseCollection.length).toEqual(20);
345
+ expect(baseCollection.first().id).toEqual(11);
346
+ expect(baseCollection.last().id).toEqual(30);
347
+ case 9:
348
+ case "end":
349
+ return _context7.stop();
397
350
  }
398
351
  }, _callee7);
399
352
  })));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/base.spec.js"],"names":["it","BaseModel","extend","modelName","Collection","BaseCollection","model","collection","expect","models","toHaveLength","id","model1Fetch","td","replace","model2Fetch","fetchModels","verify","Model","respondWith","fetch","toBeInstanceOf","url","toEqual","data","foo","firstCollection","secondCollection","length","AppointmentCollection","areModelsFetched","toBe","mockFetchResults","dataFn","jest","spyOn","AmpersandCollection","prototype","mockImplementation","opts","fetchResults","Promise","resolve","describe","results","baseCollection","fetchAll","first","last","page","total_pages"],"mappings":"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","sourcesContent":["import AmpersandCollection from \"ampersand-rest-collection\";\nimport { BaseCollection } from \"./base.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport { G } from \"sp-test/api\";\nimport Promise from \"bluebird\";\nimport td from \"testdouble\";\n\nit(\"should parse an array of urls into models\", () => {\n\tG(BaseModel, \"TestModel\").extend({ modelName: \"tests\" });\n\tconst Collection = G(BaseCollection).extend({\n\t\tmodel: \"TestModel\",\n\t});\n\tconst collection = new Collection([\"/api/tests/1/\", \"/api/tests/2/\"]);\n\texpect(collection.models).toHaveLength(2);\n});\n\nit(\"should fetch the individual models in the collection\", async () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection).extend({ model: \"TestModel\" });\n\tconst collection = new Collection([{ id: 1 }, { id: 2 }]);\n\n\tconst model1Fetch = td.replace(collection.models[0], \"fetch\");\n\tconst model2Fetch = td.replace(collection.models[1], \"fetch\");\n\n\tawait collection.fetchModels();\n\n\ttd.verify(model1Fetch({}));\n\ttd.verify(model2Fetch({}));\n});\n\nit(\"should convert fetched urls into models\", async () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"test\" }), \"TestModel\");\n\tconst Collection = G(BaseCollection).extend({ model: \"TestModel\" });\n\tCollection.respondWith([\"/api/test/1/\", \"/api/test/2/\"]);\n\tconst collection = new Collection();\n\tawait collection.fetch();\n\texpect(collection.models).toHaveLength(2);\n\tfor (const model of collection.models) {\n\t\texpect(model).toBeInstanceOf(Model);\n\t}\n});\n\nit(\"should convert fetched objects into models\", async () => {\n\tconst Model = G(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tCollection.respondWith([{ id: 1 }, { id: 2 }]);\n\tconst collection = new Collection();\n\tawait collection.fetch();\n\texpect(collection.models).toHaveLength(2);\n\tfor (const model of collection.models) {\n\t\texpect(model).toBeInstanceOf(Model);\n\t}\n});\n\nit(\"should override url if passed to constructor\", () => {\n\tconst url = \"/api/foo/\";\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url });\n\texpect(collection.url()).toEqual(`${url}?per_page=1000`);\n});\n\nit(\"should return a api url based off of its name\", () => {\n\tconst Collection = G(BaseCollection.extend({ modelName: \"foos\" }));\n\tconst collection = new Collection();\n\texpect(collection.url()).toEqual(\"/api/foos/?per_page=1000\");\n});\n\nit(\"should not append a slash to a get query\", () => {\n\tconst Collection = G(BaseCollection.extend({ modelName: \"foos\" }));\n\tconst collection = new Collection({ url: \"/api/foos/?per_page=1000\" });\n\texpect(collection.url()).toEqual(\"/api/foos/?per_page=1000\");\n});\n\nit(\"should append a trailing slash to urls if not there\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url: \"/api/appointments\" });\n\texpect(collection.url()).toEqual(\"/api/appointments/?per_page=1000\");\n});\n\nit(\"should append a trailing slash to urls if not there with query\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url: \"/api/appointments?per_page=1000\" });\n\texpect(collection.url()).toEqual(\"/api/appointments/?per_page=1000\");\n});\n\nit(\"should query multiple values if using an array\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection(\n\t\t{\n\t\t\turl: \"/api/appointments/\",\n\t\t},\n\t\t{\n\t\t\tdata: {\n\t\t\t\tfoo: [1, 2, null],\n\t\t\t},\n\t\t},\n\t);\n\texpect(collection.url()).toEqual(\n\t\t\"/api/appointments/?per_page=1000&foo=1&foo=2&foo=\",\n\t);\n});\n\nit(\"should replace model as a string with the registered model\", () => {\n\tconst Model = G(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection();\n\texpect(collection.model).toEqual(Model);\n});\n\nit(\"should allow passing in another collection into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst firstCollection = new Collection([{ id: 1 }]);\n\tconst secondCollection = new Collection(firstCollection);\n\texpect(secondCollection.models[0].id).toEqual(1);\n});\n\nit(\"should be empty on initialize\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection();\n\texpect(collection.length).toEqual(0);\n});\n\nit(\"should be not 'areModelsFetched' if all models are just a url or integer\", () => {\n\tconst AppointmentCollection = G(\"AppointmentCollection\");\n\t// A string or an integer should be considered not fetched\n\tconst collection = new AppointmentCollection([\"/api/appointments/1/\", 2]);\n\texpect(collection.areModelsFetched()).toBe(false);\n});\n\nit(\"should be 'areModelsFetched' if models are objects\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection([{ id: 1 }, { id: 2 }]);\n\texpect(collection.areModelsFetched()).toBe(true);\n});\n\nconst mockFetchResults = (dataFn) => {\n\tjest\n\t\t.spyOn(AmpersandCollection.prototype, \"fetch\")\n\t\t.mockImplementation((opts) => {\n\t\t\tconst fetchResults = dataFn(opts);\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n};\n\ndescribe(\"fetchAll\", () => {\n\tit(\"calls Collection.prototype.fetch\", async () => {\n\t\tmockFetchResults(() => {\n\t\t\treturn {\n\t\t\t\tresults: [{ id: 20 }, { id: 21 }, { id: 22 }],\n\t\t\t};\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(3);\n\t\texpect(baseCollection.first().id).toEqual(20);\n\t});\n\n\tit(\"adds results to existing results\", async () => {\n\t\tmockFetchResults(() => {\n\t\t\treturn {\n\t\t\t\tresults: [{ id: 22 }],\n\t\t\t};\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection([{ id: 15 }]);\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(2);\n\t\t// The models are sorted by ID\n\t\texpect(baseCollection.first().id).toEqual(15);\n\t\texpect(baseCollection.last().id).toEqual(22);\n\t});\n\n\tit(\"fetches multiple pages\", async () => {\n\t\tmockFetchResults((opts) => {\n\t\t\tconst page = opts.data.page || 1;\n\t\t\tconst fetchResults = {\n\t\t\t\ttotal_pages: 5,\n\t\t\t\tpage,\n\t\t\t\tresults: [{ id: page + 10 }],\n\t\t\t};\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(5);\n\t\texpect(baseCollection.first().id).toEqual(11);\n\t\texpect(baseCollection.last().id).toEqual(15);\n\t});\n\n\tit(\"stops fetching pages at the hardcoded limit\", async () => {\n\t\tmockFetchResults((opts) => {\n\t\t\tconst page = opts.data.page || 1;\n\t\t\tconst fetchResults = {\n\t\t\t\ttotal_pages: 50,\n\t\t\t\tpage,\n\t\t\t\tresults: [{ id: page + 10 }],\n\t\t\t};\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(20);\n\t\texpect(baseCollection.first().id).toEqual(11);\n\t\texpect(baseCollection.last().id).toEqual(30);\n\t});\n});\n"],"file":"base.spec.js"}
1
+ {"version":3,"file":"base.spec.js","names":["_ampersandRestCollection","_interopRequireDefault","require","_base","_base2","_api","_bluebird","_testdouble","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","it","G","BaseModel","extend","modelName","Collection","BaseCollection","model","collection","expect","models","toHaveLength","_asyncToGenerator2","default","_regenerator","mark","_callee","model1Fetch","model2Fetch","wrap","_callee$","_context","prev","id","td","replace","fetchModels","verify","stop","_callee2","Model","_iterator","_step","_callee2$","_context2","respondWith","fetch","toBeInstanceOf","err","_callee3","_iterator2","_step2","_callee3$","_context3","url","toEqual","concat","data","foo","firstCollection","secondCollection","AppointmentCollection","areModelsFetched","toBe","mockFetchResults","dataFn","jest","spyOn","AmpersandCollection","prototype","mockImplementation","opts","fetchResults","Promise","resolve","describe","_callee4","baseCollection","_callee4$","_context4","results","fetchAll","first","_callee5","_callee5$","_context5","last","_callee6","_callee6$","_context6","page","total_pages","_callee7","_callee7$","_context7"],"sources":["../../src/collections/base.spec.js"],"sourcesContent":["import AmpersandCollection from \"ampersand-rest-collection\";\nimport { BaseCollection } from \"./base.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport { G } from \"sp-test/api\";\nimport Promise from \"bluebird\";\nimport td from \"testdouble\";\n\nit(\"should parse an array of urls into models\", () => {\n\tG(BaseModel, \"TestModel\").extend({ modelName: \"tests\" });\n\tconst Collection = G(BaseCollection).extend({\n\t\tmodel: \"TestModel\",\n\t});\n\tconst collection = new Collection([\"/api/tests/1/\", \"/api/tests/2/\"]);\n\texpect(collection.models).toHaveLength(2);\n});\n\nit(\"should fetch the individual models in the collection\", async () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection).extend({ model: \"TestModel\" });\n\tconst collection = new Collection([{ id: 1 }, { id: 2 }]);\n\n\tconst model1Fetch = td.replace(collection.models[0], \"fetch\");\n\tconst model2Fetch = td.replace(collection.models[1], \"fetch\");\n\n\tawait collection.fetchModels();\n\n\ttd.verify(model1Fetch({}));\n\ttd.verify(model2Fetch({}));\n});\n\nit(\"should convert fetched urls into models\", async () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"test\" }), \"TestModel\");\n\tconst Collection = G(BaseCollection).extend({ model: \"TestModel\" });\n\tCollection.respondWith([\"/api/test/1/\", \"/api/test/2/\"]);\n\tconst collection = new Collection();\n\tawait collection.fetch();\n\texpect(collection.models).toHaveLength(2);\n\tfor (const model of collection.models) {\n\t\texpect(model).toBeInstanceOf(Model);\n\t}\n});\n\nit(\"should convert fetched objects into models\", async () => {\n\tconst Model = G(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tCollection.respondWith([{ id: 1 }, { id: 2 }]);\n\tconst collection = new Collection();\n\tawait collection.fetch();\n\texpect(collection.models).toHaveLength(2);\n\tfor (const model of collection.models) {\n\t\texpect(model).toBeInstanceOf(Model);\n\t}\n});\n\nit(\"should override url if passed to constructor\", () => {\n\tconst url = \"/api/foo/\";\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url });\n\texpect(collection.url()).toEqual(`${url}?per_page=1000`);\n});\n\nit(\"should return a api url based off of its name\", () => {\n\tconst Collection = G(BaseCollection.extend({ modelName: \"foos\" }));\n\tconst collection = new Collection();\n\texpect(collection.url()).toEqual(\"/api/foos/?per_page=1000\");\n});\n\nit(\"should not append a slash to a get query\", () => {\n\tconst Collection = G(BaseCollection.extend({ modelName: \"foos\" }));\n\tconst collection = new Collection({ url: \"/api/foos/?per_page=1000\" });\n\texpect(collection.url()).toEqual(\"/api/foos/?per_page=1000\");\n});\n\nit(\"should append a trailing slash to urls if not there\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url: \"/api/appointments\" });\n\texpect(collection.url()).toEqual(\"/api/appointments/?per_page=1000\");\n});\n\nit(\"should append a trailing slash to urls if not there with query\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection({ url: \"/api/appointments?per_page=1000\" });\n\texpect(collection.url()).toEqual(\"/api/appointments/?per_page=1000\");\n});\n\nit(\"should query multiple values if using an array\", () => {\n\tconst Collection = G(BaseCollection);\n\tconst collection = new Collection(\n\t\t{\n\t\t\turl: \"/api/appointments/\",\n\t\t},\n\t\t{\n\t\t\tdata: {\n\t\t\t\tfoo: [1, 2, null],\n\t\t\t},\n\t\t},\n\t);\n\texpect(collection.url()).toEqual(\n\t\t\"/api/appointments/?per_page=1000&foo=1&foo=2&foo=\",\n\t);\n});\n\nit(\"should replace model as a string with the registered model\", () => {\n\tconst Model = G(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection();\n\texpect(collection.model).toEqual(Model);\n});\n\nit(\"should allow passing in another collection into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst firstCollection = new Collection([{ id: 1 }]);\n\tconst secondCollection = new Collection(firstCollection);\n\texpect(secondCollection.models[0].id).toEqual(1);\n});\n\nit(\"should be empty on initialize\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection();\n\texpect(collection.length).toEqual(0);\n});\n\nit(\"should be not 'areModelsFetched' if all models are just a url or integer\", () => {\n\tconst AppointmentCollection = G(\"AppointmentCollection\");\n\t// A string or an integer should be considered not fetched\n\tconst collection = new AppointmentCollection([\"/api/appointments/1/\", 2]);\n\texpect(collection.areModelsFetched()).toBe(false);\n});\n\nit(\"should be 'areModelsFetched' if models are objects\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\tconst collection = new Collection([{ id: 1 }, { id: 2 }]);\n\texpect(collection.areModelsFetched()).toBe(true);\n});\n\nconst mockFetchResults = (dataFn) => {\n\tjest\n\t\t.spyOn(AmpersandCollection.prototype, \"fetch\")\n\t\t.mockImplementation((opts) => {\n\t\t\tconst fetchResults = dataFn(opts);\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n};\n\ndescribe(\"fetchAll\", () => {\n\tit(\"calls Collection.prototype.fetch\", async () => {\n\t\tmockFetchResults(() => {\n\t\t\treturn {\n\t\t\t\tresults: [{ id: 20 }, { id: 21 }, { id: 22 }],\n\t\t\t};\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(3);\n\t\texpect(baseCollection.first().id).toEqual(20);\n\t});\n\n\tit(\"adds results to existing results\", async () => {\n\t\tmockFetchResults(() => {\n\t\t\treturn {\n\t\t\t\tresults: [{ id: 22 }],\n\t\t\t};\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection([{ id: 15 }]);\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(2);\n\t\t// The models are sorted by ID\n\t\texpect(baseCollection.first().id).toEqual(15);\n\t\texpect(baseCollection.last().id).toEqual(22);\n\t});\n\n\tit(\"fetches multiple pages\", async () => {\n\t\tmockFetchResults((opts) => {\n\t\t\tconst page = opts.data.page || 1;\n\t\t\tconst fetchResults = {\n\t\t\t\ttotal_pages: 5,\n\t\t\t\tpage,\n\t\t\t\tresults: [{ id: page + 10 }],\n\t\t\t};\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(5);\n\t\texpect(baseCollection.first().id).toEqual(11);\n\t\texpect(baseCollection.last().id).toEqual(15);\n\t});\n\n\tit(\"stops fetching pages at the hardcoded limit\", async () => {\n\t\tmockFetchResults((opts) => {\n\t\t\tconst page = opts.data.page || 1;\n\t\t\tconst fetchResults = {\n\t\t\t\ttotal_pages: 50,\n\t\t\t\tpage,\n\t\t\t\tresults: [{ id: page + 10 }],\n\t\t\t};\n\t\t\treturn Promise.resolve(fetchResults);\n\t\t});\n\n\t\tG(BaseModel, \"TestModel\");\n\t\tconst Collection = G(BaseCollection.extend({ model: \"TestModel\" }));\n\t\tconst baseCollection = new Collection();\n\n\t\tawait baseCollection.fetchAll();\n\n\t\texpect(baseCollection.length).toEqual(20);\n\t\texpect(baseCollection.first().id).toEqual(11);\n\t\texpect(baseCollection.last().id).toEqual(30);\n\t});\n});\n"],"mappings":"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","ignoreList":[]}