@livepreso/api 6.44.0 → 6.46.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 (502) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  3. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  4. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  5. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  6. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  7. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  8. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  9. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  10. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  11. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  12. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  13. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  14. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  15. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  16. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  17. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  18. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  19. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  20. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  21. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  24. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  25. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  26. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  27. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  28. package/.rush/temp/operation/test/all.log +19 -0
  29. package/.rush/temp/operation/test/state.json +3 -0
  30. package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
  31. package/.rush/temp/shrinkwrap-deps.json +605 -597
  32. package/CHANGELOG.json +29 -0
  33. package/CHANGELOG.md +15 -1
  34. package/README.md +4 -4
  35. package/api.build.log +1 -1
  36. package/api.test.cache.log +1 -0
  37. package/api.test.log +19 -0
  38. package/bin/test.sh +0 -1
  39. package/cjs/api.js +18 -17
  40. package/cjs/api.js.map +1 -1
  41. package/cjs/api.spec.js +0 -4
  42. package/cjs/api.spec.js.map +1 -1
  43. package/cjs/auth.js +35 -36
  44. package/cjs/auth.js.map +1 -1
  45. package/cjs/auth.spec.js +52 -71
  46. package/cjs/auth.spec.js.map +1 -1
  47. package/cjs/caching.js +2 -7
  48. package/cjs/caching.js.map +1 -1
  49. package/cjs/collections/activity.js +16 -56
  50. package/cjs/collections/activity.js.map +1 -1
  51. package/cjs/collections/adjunct-sections.js +1 -10
  52. package/cjs/collections/adjunct-sections.js.map +1 -1
  53. package/cjs/collections/adjunct-slides.js +1 -10
  54. package/cjs/collections/adjunct-slides.js.map +1 -1
  55. package/cjs/collections/adjunct-sub-slides.js +1 -9
  56. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  57. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  58. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  59. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  60. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  61. package/cjs/collections/appointment-duplicates.js +1 -9
  62. package/cjs/collections/appointment-duplicates.js.map +1 -1
  63. package/cjs/collections/appointment-editors.js +1 -10
  64. package/cjs/collections/appointment-editors.js.map +1 -1
  65. package/cjs/collections/appointment-section-tags.js +1 -9
  66. package/cjs/collections/appointment-section-tags.js.map +1 -1
  67. package/cjs/collections/appointment-slide-tags.js +1 -9
  68. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  69. package/cjs/collections/appointment-tags.js +66 -103
  70. package/cjs/collections/appointment-tags.js.map +1 -1
  71. package/cjs/collections/appointment-templates.js +27 -0
  72. package/cjs/collections/appointment-templates.js.map +1 -0
  73. package/cjs/collections/appointments.js +9 -29
  74. package/cjs/collections/appointments.js.map +1 -1
  75. package/cjs/collections/assets.js +1 -9
  76. package/cjs/collections/assets.js.map +1 -1
  77. package/cjs/collections/auto-adjuncts.js +6 -21
  78. package/cjs/collections/auto-adjuncts.js.map +1 -1
  79. package/cjs/collections/base.js +46 -112
  80. package/cjs/collections/base.js.map +1 -1
  81. package/cjs/collections/base.spec.js +204 -233
  82. package/cjs/collections/base.spec.js.map +1 -1
  83. package/cjs/collections/cms-vals.js +9 -16
  84. package/cjs/collections/cms-vals.js.map +1 -1
  85. package/cjs/collections/contact-phones.js +20 -0
  86. package/cjs/collections/contact-phones.js.map +1 -0
  87. package/cjs/collections/contacts.js +1 -9
  88. package/cjs/collections/contacts.js.map +1 -1
  89. package/cjs/collections/created-assets.js +1 -10
  90. package/cjs/collections/created-assets.js.map +1 -1
  91. package/cjs/collections/customers.js +1 -9
  92. package/cjs/collections/customers.js.map +1 -1
  93. package/cjs/collections/deck-notes.js +1 -10
  94. package/cjs/collections/deck-notes.js.map +1 -1
  95. package/cjs/collections/deck-version-screenshots.js +49 -0
  96. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  97. package/cjs/collections/deck-versions.js +5 -20
  98. package/cjs/collections/deck-versions.js.map +1 -1
  99. package/cjs/collections/decks.js +1 -9
  100. package/cjs/collections/decks.js.map +1 -1
  101. package/cjs/collections/deleted-assets.js +1 -10
  102. package/cjs/collections/deleted-assets.js.map +1 -1
  103. package/cjs/collections/dispatches.js +1 -13
  104. package/cjs/collections/dispatches.js.map +1 -1
  105. package/cjs/collections/event-objects.js +1 -9
  106. package/cjs/collections/event-objects.js.map +1 -1
  107. package/cjs/collections/events.js +1 -9
  108. package/cjs/collections/events.js.map +1 -1
  109. package/cjs/collections/groups.js +1 -9
  110. package/cjs/collections/groups.js.map +1 -1
  111. package/cjs/collections/images.js +1 -9
  112. package/cjs/collections/images.js.map +1 -1
  113. package/cjs/collections/locations.js +1 -9
  114. package/cjs/collections/locations.js.map +1 -1
  115. package/cjs/collections/opportunities.js +1 -9
  116. package/cjs/collections/opportunities.js.map +1 -1
  117. package/cjs/collections/pack-diffs.js +1 -9
  118. package/cjs/collections/pack-diffs.js.map +1 -1
  119. package/cjs/collections/packs.js +1 -9
  120. package/cjs/collections/packs.js.map +1 -1
  121. package/cjs/collections/presets.js +1 -9
  122. package/cjs/collections/presets.js.map +1 -1
  123. package/cjs/collections/section-selections.js +1 -9
  124. package/cjs/collections/section-selections.js.map +1 -1
  125. package/cjs/collections/sections.js +1 -9
  126. package/cjs/collections/sections.js.map +1 -1
  127. package/cjs/collections/slide-selections.js +1 -9
  128. package/cjs/collections/slide-selections.js.map +1 -1
  129. package/cjs/collections/slides.js +1 -9
  130. package/cjs/collections/slides.js.map +1 -1
  131. package/cjs/collections/snapshots.js +1 -9
  132. package/cjs/collections/snapshots.js.map +1 -1
  133. package/cjs/collections/sub-slides.js +1 -9
  134. package/cjs/collections/sub-slides.js.map +1 -1
  135. package/cjs/collections/tags.js +1 -9
  136. package/cjs/collections/tags.js.map +1 -1
  137. package/cjs/collections/teams.js +1 -9
  138. package/cjs/collections/teams.js.map +1 -1
  139. package/cjs/collections/templates.js +1 -9
  140. package/cjs/collections/templates.js.map +1 -1
  141. package/cjs/collections/uploads.js +1 -9
  142. package/cjs/collections/uploads.js.map +1 -1
  143. package/cjs/collections/users.js +1 -9
  144. package/cjs/collections/users.js.map +1 -1
  145. package/cjs/collections.js +33 -86
  146. package/cjs/collections.js.map +1 -1
  147. package/cjs/fixtures.js +187 -0
  148. package/cjs/fixtures.js.map +1 -0
  149. package/cjs/index.js +0 -10
  150. package/cjs/index.js.map +1 -1
  151. package/cjs/log.js +0 -1
  152. package/cjs/log.js.map +1 -1
  153. package/cjs/middleware.js +2 -7
  154. package/cjs/middleware.js.map +1 -1
  155. package/cjs/middlewares/auth.js +1 -17
  156. package/cjs/middlewares/auth.js.map +1 -1
  157. package/cjs/middlewares/base.js +3 -9
  158. package/cjs/middlewares/base.js.map +1 -1
  159. package/cjs/middlewares/json.js +1 -19
  160. package/cjs/middlewares/json.js.map +1 -1
  161. package/cjs/middlewares/redirect.js +5 -21
  162. package/cjs/middlewares/redirect.js.map +1 -1
  163. package/cjs/models/activity-item.js +6 -20
  164. package/cjs/models/activity-item.js.map +1 -1
  165. package/cjs/models/adjunct-section.js +8 -21
  166. package/cjs/models/adjunct-section.js.map +1 -1
  167. package/cjs/models/adjunct-slide.js +8 -21
  168. package/cjs/models/adjunct-slide.js.map +1 -1
  169. package/cjs/models/adjunct-sub-slide.js +1 -16
  170. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  171. package/cjs/models/adjunct.js +34 -10
  172. package/cjs/models/adjunct.js.map +1 -1
  173. package/cjs/models/api.js +1 -6
  174. package/cjs/models/api.js.map +1 -1
  175. package/cjs/models/appointment-adjunct-tags.js +1 -13
  176. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  177. package/cjs/models/appointment-deckversion-tags.js +1 -13
  178. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  179. package/cjs/models/appointment-duplicate.js +3 -25
  180. package/cjs/models/appointment-duplicate.js.map +1 -1
  181. package/cjs/models/appointment-editor.js +1 -14
  182. package/cjs/models/appointment-editor.js.map +1 -1
  183. package/cjs/models/appointment-section-tags.js +1 -13
  184. package/cjs/models/appointment-section-tags.js.map +1 -1
  185. package/cjs/models/appointment-slide-tags.js +1 -13
  186. package/cjs/models/appointment-slide-tags.js.map +1 -1
  187. package/cjs/models/appointment-stats.js +1 -11
  188. package/cjs/models/appointment-stats.js.map +1 -1
  189. package/cjs/models/appointment-tags.js +1 -10
  190. package/cjs/models/appointment-tags.js.map +1 -1
  191. package/cjs/models/appointment-template.js +23 -0
  192. package/cjs/models/appointment-template.js.map +1 -0
  193. package/cjs/models/appointment-viewing.js +1 -8
  194. package/cjs/models/appointment-viewing.js.map +1 -1
  195. package/cjs/models/appointment.js +94 -69
  196. package/cjs/models/appointment.js.map +1 -1
  197. package/cjs/models/asset.js +12 -11
  198. package/cjs/models/asset.js.map +1 -1
  199. package/cjs/models/auto-adjunct-key-check.js +1 -15
  200. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  201. package/cjs/models/auto-adjunct.js +5 -14
  202. package/cjs/models/auto-adjunct.js.map +1 -1
  203. package/cjs/models/base.js +89 -173
  204. package/cjs/models/base.js.map +1 -1
  205. package/cjs/models/base.spec.js +8 -30
  206. package/cjs/models/base.spec.js.map +1 -1
  207. package/cjs/models/choicelist.js +1 -8
  208. package/cjs/models/choicelist.js.map +1 -1
  209. package/cjs/models/cms-val.js +28 -15
  210. package/cjs/models/cms-val.js.map +1 -1
  211. package/cjs/models/cms-val.spec.js +25 -0
  212. package/cjs/models/cms-val.spec.js.map +1 -0
  213. package/cjs/models/contact-phone.js +54 -0
  214. package/cjs/models/contact-phone.js.map +1 -0
  215. package/cjs/models/contact.js +1 -18
  216. package/cjs/models/contact.js.map +1 -1
  217. package/cjs/models/customer.js +5 -30
  218. package/cjs/models/customer.js.map +1 -1
  219. package/cjs/models/deck-note.js +1 -9
  220. package/cjs/models/deck-note.js.map +1 -1
  221. package/cjs/models/deck-tags.js +1 -12
  222. package/cjs/models/deck-tags.js.map +1 -1
  223. package/cjs/models/deck-version-screenshot.js +47 -0
  224. package/cjs/models/deck-version-screenshot.js.map +1 -0
  225. package/cjs/models/deck-version.js +54 -47
  226. package/cjs/models/deck-version.js.map +1 -1
  227. package/cjs/models/deck.js +1 -14
  228. package/cjs/models/deck.js.map +1 -1
  229. package/cjs/models/dispatch-preview.js +1 -13
  230. package/cjs/models/dispatch-preview.js.map +1 -1
  231. package/cjs/models/dispatch.js +1 -23
  232. package/cjs/models/dispatch.js.map +1 -1
  233. package/cjs/models/envs.js +1 -6
  234. package/cjs/models/envs.js.map +1 -1
  235. package/cjs/models/event-object.js +1 -11
  236. package/cjs/models/event-object.js.map +1 -1
  237. package/cjs/models/event.js +1 -13
  238. package/cjs/models/event.js.map +1 -1
  239. package/cjs/models/feed-data.js +6 -13
  240. package/cjs/models/feed-data.js.map +1 -1
  241. package/cjs/models/file.js +1 -11
  242. package/cjs/models/file.js.map +1 -1
  243. package/cjs/models/group.js +1 -11
  244. package/cjs/models/group.js.map +1 -1
  245. package/cjs/models/handover.js +1 -13
  246. package/cjs/models/handover.js.map +1 -1
  247. package/cjs/models/hosted-preso.js +1 -15
  248. package/cjs/models/hosted-preso.js.map +1 -1
  249. package/cjs/models/image.js +30 -11
  250. package/cjs/models/image.js.map +1 -1
  251. package/cjs/models/location.js +1 -13
  252. package/cjs/models/location.js.map +1 -1
  253. package/cjs/models/manifest-json.js +75 -74
  254. package/cjs/models/manifest-json.js.map +1 -1
  255. package/cjs/models/onshare.js +1 -14
  256. package/cjs/models/onshare.js.map +1 -1
  257. package/cjs/models/opportunity.js +1 -14
  258. package/cjs/models/opportunity.js.map +1 -1
  259. package/cjs/models/pack-diff.js +1 -14
  260. package/cjs/models/pack-diff.js.map +1 -1
  261. package/cjs/models/pack.js +1 -12
  262. package/cjs/models/pack.js.map +1 -1
  263. package/cjs/models/preset.js +4 -20
  264. package/cjs/models/preset.js.map +1 -1
  265. package/cjs/models/refresh-request.js +17 -11
  266. package/cjs/models/refresh-request.js.map +1 -1
  267. package/cjs/models/room.js +1 -9
  268. package/cjs/models/room.js.map +1 -1
  269. package/cjs/models/salesforce-lookup.js +1 -12
  270. package/cjs/models/salesforce-lookup.js.map +1 -1
  271. package/cjs/models/section-selection.js +1 -14
  272. package/cjs/models/section-selection.js.map +1 -1
  273. package/cjs/models/section.js +4 -15
  274. package/cjs/models/section.js.map +1 -1
  275. package/cjs/models/slide-selection.js +1 -14
  276. package/cjs/models/slide-selection.js.map +1 -1
  277. package/cjs/models/slide.js +4 -15
  278. package/cjs/models/slide.js.map +1 -1
  279. package/cjs/models/snapshot.js +13 -15
  280. package/cjs/models/snapshot.js.map +1 -1
  281. package/cjs/models/snapshot.spec.js +44 -0
  282. package/cjs/models/snapshot.spec.js.map +1 -0
  283. package/cjs/models/sub-slide.js +1 -12
  284. package/cjs/models/sub-slide.js.map +1 -1
  285. package/cjs/models/support-ticket.js +1 -11
  286. package/cjs/models/support-ticket.js.map +1 -1
  287. package/cjs/models/tag.js +1 -13
  288. package/cjs/models/tag.js.map +1 -1
  289. package/cjs/models/team.js +14 -13
  290. package/cjs/models/team.js.map +1 -1
  291. package/cjs/models/template.js +89 -15
  292. package/cjs/models/template.js.map +1 -1
  293. package/cjs/models/tenancy.js +4 -11
  294. package/cjs/models/tenancy.js.map +1 -1
  295. package/cjs/models/timing-log.js +21 -78
  296. package/cjs/models/timing-log.js.map +1 -1
  297. package/cjs/models/timing-log.spec.js +24 -37
  298. package/cjs/models/timing-log.spec.js.map +1 -1
  299. package/cjs/models/token.js +46 -0
  300. package/cjs/models/token.js.map +1 -0
  301. package/cjs/models/transcribe-socket.js +1 -8
  302. package/cjs/models/transcribe-socket.js.map +1 -1
  303. package/cjs/models/upload.js +1 -7
  304. package/cjs/models/upload.js.map +1 -1
  305. package/cjs/models/user.js +11 -28
  306. package/cjs/models/user.js.map +1 -1
  307. package/cjs/models/user.spec.js +20 -30
  308. package/cjs/models/user.spec.js.map +1 -1
  309. package/cjs/models.js +44 -128
  310. package/cjs/models.js.map +1 -1
  311. package/cjs/presentation/appointment-presentation.js +14 -36
  312. package/cjs/presentation/appointment-presentation.js.map +1 -1
  313. package/cjs/presentation/base-presentation-collection.js +1 -7
  314. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  315. package/cjs/presentation/base-presentation-model.js +108 -33
  316. package/cjs/presentation/base-presentation-model.js.map +1 -1
  317. package/cjs/presentation/base-presentation-model.spec.js +58 -23
  318. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  319. package/cjs/presentation/presentation-deck.js +73 -83
  320. package/cjs/presentation/presentation-deck.js.map +1 -1
  321. package/cjs/presentation/presentation-deck.spec.js +118 -88
  322. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  323. package/cjs/presentation/presentation-decks.js +1 -9
  324. package/cjs/presentation/presentation-decks.js.map +1 -1
  325. package/cjs/presentation/presentation-section.js +70 -84
  326. package/cjs/presentation/presentation-section.js.map +1 -1
  327. package/cjs/presentation/presentation-section.spec.js +296 -238
  328. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  329. package/cjs/presentation/presentation-sections.js +1 -9
  330. package/cjs/presentation/presentation-sections.js.map +1 -1
  331. package/cjs/presentation/presentation-slide.js +74 -84
  332. package/cjs/presentation/presentation-slide.js.map +1 -1
  333. package/cjs/presentation/presentation-slide.spec.js +211 -166
  334. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  335. package/cjs/presentation/presentation-slides.js +1 -9
  336. package/cjs/presentation/presentation-slides.js.map +1 -1
  337. package/cjs/presentation/presentation-subslide.js +3 -23
  338. package/cjs/presentation/presentation-subslide.js.map +1 -1
  339. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  340. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  341. package/cjs/presentation/presentation-subslides.js +1 -9
  342. package/cjs/presentation/presentation-subslides.js.map +1 -1
  343. package/cjs/presentation/presentation.js +87 -32
  344. package/cjs/presentation/presentation.js.map +1 -1
  345. package/cjs/presentation.js +0 -20
  346. package/cjs/presentation.js.map +1 -1
  347. package/cjs/selections.js +81 -0
  348. package/cjs/selections.js.map +1 -0
  349. package/cjs/state-register.js +3 -11
  350. package/cjs/state-register.js.map +1 -1
  351. package/cjs/sync.js +32 -76
  352. package/cjs/sync.js.map +1 -1
  353. package/cjs/utils.js +51 -42
  354. package/cjs/utils.js.map +1 -1
  355. package/cjs/utils.spec.js +0 -4
  356. package/cjs/utils.spec.js.map +1 -1
  357. package/jest.config.js +5 -3
  358. package/package.json +11 -8
  359. package/src/api.js +17 -2
  360. package/src/auth.js +45 -9
  361. package/src/auth.spec.js +2 -0
  362. package/src/collections/activity.js +4 -4
  363. package/src/collections/adjunct-sections.js +1 -1
  364. package/src/collections/adjunct-slides.js +1 -1
  365. package/src/collections/adjunct-sub-slides.js +1 -1
  366. package/src/collections/appointment-adjunct-tags.js +1 -1
  367. package/src/collections/appointment-deckversion-tags.js +2 -2
  368. package/src/collections/appointment-duplicates.js +1 -1
  369. package/src/collections/appointment-editors.js +1 -1
  370. package/src/collections/appointment-section-tags.js +1 -1
  371. package/src/collections/appointment-slide-tags.js +1 -1
  372. package/src/collections/appointment-tags.js +20 -18
  373. package/src/collections/appointment-templates.js +26 -0
  374. package/src/collections/appointments.js +9 -9
  375. package/src/collections/assets.js +1 -1
  376. package/src/collections/auto-adjuncts.js +1 -1
  377. package/src/collections/base.js +20 -10
  378. package/src/collections/base.spec.js +19 -5
  379. package/src/collections/cms-vals.js +5 -1
  380. package/src/collections/contact-phones.js +18 -0
  381. package/src/collections/contacts.js +1 -1
  382. package/src/collections/created-assets.js +1 -1
  383. package/src/collections/customers.js +1 -1
  384. package/src/collections/deck-notes.js +1 -1
  385. package/src/collections/deck-version-screenshots.js +48 -0
  386. package/src/collections/deck-versions.js +1 -1
  387. package/src/collections/decks.js +1 -1
  388. package/src/collections/deleted-assets.js +1 -1
  389. package/src/collections/dispatches.js +2 -2
  390. package/src/collections/event-objects.js +1 -1
  391. package/src/collections/events.js +1 -1
  392. package/src/collections/groups.js +1 -1
  393. package/src/collections/images.js +1 -1
  394. package/src/collections/locations.js +1 -1
  395. package/src/collections/opportunities.js +1 -1
  396. package/src/collections/pack-diffs.js +1 -1
  397. package/src/collections/packs.js +1 -1
  398. package/src/collections/presets.js +1 -1
  399. package/src/collections/section-selections.js +1 -1
  400. package/src/collections/sections.js +1 -1
  401. package/src/collections/slide-selections.js +1 -1
  402. package/src/collections/slides.js +1 -1
  403. package/src/collections/snapshots.js +1 -1
  404. package/src/collections/sub-slides.js +1 -1
  405. package/src/collections/tags.js +1 -1
  406. package/src/collections/teams.js +1 -1
  407. package/src/collections/templates.js +1 -1
  408. package/src/collections/uploads.js +1 -1
  409. package/src/collections/users.js +1 -1
  410. package/src/collections.js +3 -0
  411. package/src/fixtures.js +193 -0
  412. package/src/models/activity-item.js +3 -1
  413. package/src/models/adjunct-section.js +7 -2
  414. package/src/models/adjunct-slide.js +7 -2
  415. package/src/models/adjunct-sub-slide.js +1 -1
  416. package/src/models/adjunct.js +39 -1
  417. package/src/models/appointment-adjunct-tags.js +1 -1
  418. package/src/models/appointment-deckversion-tags.js +1 -1
  419. package/src/models/appointment-duplicate.js +1 -1
  420. package/src/models/appointment-editor.js +1 -1
  421. package/src/models/appointment-section-tags.js +1 -1
  422. package/src/models/appointment-slide-tags.js +1 -1
  423. package/src/models/appointment-stats.js +1 -1
  424. package/src/models/appointment-tags.js +1 -1
  425. package/src/models/appointment-template.js +19 -0
  426. package/src/models/appointment-viewing.js +1 -1
  427. package/src/models/appointment.js +112 -37
  428. package/src/models/asset.js +15 -1
  429. package/src/models/auto-adjunct-key-check.js +1 -1
  430. package/src/models/auto-adjunct.js +4 -1
  431. package/src/models/base.js +55 -22
  432. package/src/models/base.spec.js +34 -27
  433. package/src/models/choicelist.js +1 -1
  434. package/src/models/cms-val.js +24 -1
  435. package/src/models/cms-val.spec.js +14 -0
  436. package/src/models/contact-phone.js +57 -0
  437. package/src/models/contact.js +1 -1
  438. package/src/models/customer.js +3 -3
  439. package/src/models/deck-note.js +1 -1
  440. package/src/models/deck-tags.js +1 -1
  441. package/src/models/deck-version-screenshot.js +48 -0
  442. package/src/models/deck-version.js +60 -9
  443. package/src/models/deck.js +1 -1
  444. package/src/models/dispatch-preview.js +1 -1
  445. package/src/models/dispatch.js +1 -1
  446. package/src/models/event-object.js +1 -1
  447. package/src/models/event.js +1 -1
  448. package/src/models/feed-data.js +3 -1
  449. package/src/models/file.js +1 -1
  450. package/src/models/group.js +1 -1
  451. package/src/models/handover.js +1 -1
  452. package/src/models/hosted-preso.js +1 -1
  453. package/src/models/image.js +33 -1
  454. package/src/models/location.js +1 -1
  455. package/src/models/manifest-json.js +57 -6
  456. package/src/models/onshare.js +1 -1
  457. package/src/models/opportunity.js +1 -1
  458. package/src/models/pack-diff.js +1 -1
  459. package/src/models/pack.js +1 -1
  460. package/src/models/preset.js +3 -1
  461. package/src/models/refresh-request.js +15 -1
  462. package/src/models/room.js +1 -1
  463. package/src/models/salesforce-lookup.js +1 -1
  464. package/src/models/section-selection.js +1 -1
  465. package/src/models/section.js +3 -1
  466. package/src/models/slide-selection.js +1 -1
  467. package/src/models/slide.js +3 -1
  468. package/src/models/snapshot.js +11 -2
  469. package/src/models/snapshot.spec.js +31 -0
  470. package/src/models/sub-slide.js +1 -1
  471. package/src/models/support-ticket.js +1 -1
  472. package/src/models/tag.js +1 -1
  473. package/src/models/team.js +14 -3
  474. package/src/models/template.js +74 -2
  475. package/src/models/tenancy.js +4 -1
  476. package/src/models/timing-log.js +2 -2
  477. package/src/models/timing-log.spec.js +1 -1
  478. package/src/models/token.js +47 -0
  479. package/src/models/transcribe-socket.js +1 -1
  480. package/src/models/user.js +15 -2
  481. package/src/models.js +4 -0
  482. package/src/presentation/appointment-presentation.js +13 -5
  483. package/src/presentation/base-presentation-collection.js +1 -1
  484. package/src/presentation/base-presentation-model.js +88 -3
  485. package/src/presentation/base-presentation-model.spec.js +80 -3
  486. package/src/presentation/presentation-deck.js +65 -22
  487. package/src/presentation/presentation-deck.spec.js +55 -2
  488. package/src/presentation/presentation-decks.js +1 -1
  489. package/src/presentation/presentation-section.js +91 -31
  490. package/src/presentation/presentation-section.spec.js +142 -10
  491. package/src/presentation/presentation-sections.js +1 -1
  492. package/src/presentation/presentation-slide.js +69 -23
  493. package/src/presentation/presentation-slide.spec.js +105 -9
  494. package/src/presentation/presentation-slides.js +1 -1
  495. package/src/presentation/presentation-subslide.js +5 -5
  496. package/src/presentation/presentation-subslide.spec.js +3 -3
  497. package/src/presentation/presentation-subslides.js +1 -1
  498. package/src/presentation/presentation.js +27 -8
  499. package/src/selections.js +71 -0
  500. package/src/sync.js +1 -1
  501. package/src/utils.js +31 -8
  502. package/src/utils.spec.js +4 -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
-
6
+ var _ampersandRestCollection = _interopRequireDefault(require("ampersand-rest-collection"));
9
7
  var _base = require("./base.js");
10
-
11
8
  var _base2 = require("../models/base.js");
12
-
13
- var _ampersandRestCollection = _interopRequireDefault(require("ampersand-rest-collection"));
14
-
15
9
  var _api = require("sp-test/api");
16
-
17
- var _testdouble = _interopRequireDefault(require("testdouble"));
18
-
19
10
  var _bluebird = _interopRequireDefault(require("bluebird"));
20
-
11
+ var _testdouble = _interopRequireDefault(require("testdouble"));
21
12
  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
13
  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
-
14
+ 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; }
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"
@@ -37,114 +25,97 @@ it("should parse an array of urls into models", function () {
37
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
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
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
  })));
@@ -224,158 +195,158 @@ it("should be empty on initialize", function () {
224
195
  var collection = new Collection();
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 () {
199
+ var AppointmentCollection = (0, _api.G)("AppointmentCollection");
200
+ // A string or an integer should be considered not fetched
201
+ var collection = new AppointmentCollection(["/api/appointments/1/", 2]);
202
+ expect(collection.areModelsFetched()).toBe(false);
203
+ });
204
+ it("should be 'areModelsFetched' if models are objects", function () {
205
+ (0, _api.G)(_base2.BaseModel, "TestModel");
206
+ var Collection = (0, _api.G)(_base.BaseCollection.extend({
207
+ model: "TestModel"
208
+ }));
209
+ var collection = new Collection([{
210
+ id: 1
211
+ }, {
212
+ id: 2
213
+ }]);
214
+ expect(collection.areModelsFetched()).toBe(true);
215
+ });
228
216
  var mockFetchResults = function mockFetchResults(dataFn) {
229
217
  jest.spyOn(_ampersandRestCollection.default.prototype, "fetch").mockImplementation(function (opts) {
230
218
  var fetchResults = dataFn(opts);
231
219
  return _bluebird.default.resolve(fetchResults);
232
220
  });
233
221
  };
234
-
235
222
  describe("fetchAll", function () {
236
223
  it("calls Collection.prototype.fetch", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
237
224
  var Collection, baseCollection;
238
225
  return _regenerator.default.wrap(function _callee4$(_context4) {
239
- while (1) {
240
- switch (_context4.prev = _context4.next) {
241
- case 0:
242
- mockFetchResults(function () {
243
- return {
244
- results: [{
245
- id: 20
246
- }, {
247
- id: 21
248
- }, {
249
- id: 22
250
- }]
251
- };
252
- });
253
- (0, _api.G)(_base2.BaseModel, "TestModel");
254
- Collection = (0, _api.G)(_base.BaseCollection.extend({
255
- model: "TestModel"
256
- }));
257
- baseCollection = new Collection();
258
- _context4.next = 6;
259
- return baseCollection.fetchAll();
260
-
261
- case 6:
262
- expect(baseCollection.length).toEqual(3);
263
- expect(baseCollection.first().id).toEqual(20);
264
-
265
- case 8:
266
- case "end":
267
- return _context4.stop();
268
- }
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();
269
252
  }
270
253
  }, _callee4);
271
254
  })));
272
255
  it("adds results to existing results", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
273
256
  var Collection, baseCollection;
274
257
  return _regenerator.default.wrap(function _callee5$(_context5) {
275
- while (1) {
276
- switch (_context5.prev = _context5.next) {
277
- case 0:
278
- mockFetchResults(function () {
279
- return {
280
- results: [{
281
- id: 22
282
- }]
283
- };
284
- });
285
- (0, _api.G)(_base2.BaseModel, "TestModel");
286
- Collection = (0, _api.G)(_base.BaseCollection.extend({
287
- model: "TestModel"
288
- }));
289
- baseCollection = new Collection([{
290
- id: 15
291
- }]);
292
- _context5.next = 6;
293
- return baseCollection.fetchAll();
294
-
295
- case 6:
296
- expect(baseCollection.length).toEqual(2); // The models are sorted by ID
297
-
298
- expect(baseCollection.first().id).toEqual(15);
299
- expect(baseCollection.last().id).toEqual(22);
300
-
301
- case 9:
302
- case "end":
303
- return _context5.stop();
304
- }
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();
305
284
  }
306
285
  }, _callee5);
307
286
  })));
308
287
  it("fetches multiple pages", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
309
288
  var Collection, baseCollection;
310
289
  return _regenerator.default.wrap(function _callee6$(_context6) {
311
- while (1) {
312
- switch (_context6.prev = _context6.next) {
313
- case 0:
314
- mockFetchResults(function (opts) {
315
- var page = opts.data.page || 1;
316
- var fetchResults = {
317
- total_pages: 5,
318
- page: page,
319
- results: [{
320
- id: page + 10
321
- }]
322
- };
323
- return _bluebird.default.resolve(fetchResults);
324
- });
325
- (0, _api.G)(_base2.BaseModel, "TestModel");
326
- Collection = (0, _api.G)(_base.BaseCollection.extend({
327
- model: "TestModel"
328
- }));
329
- baseCollection = new Collection();
330
- _context6.next = 6;
331
- return baseCollection.fetchAll();
332
-
333
- case 6:
334
- expect(baseCollection.length).toEqual(5);
335
- expect(baseCollection.first().id).toEqual(11);
336
- expect(baseCollection.last().id).toEqual(15);
337
-
338
- case 9:
339
- case "end":
340
- return _context6.stop();
341
- }
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();
342
317
  }
343
318
  }, _callee6);
344
319
  })));
345
320
  it("stops fetching pages at the hardcoded limit", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
346
321
  var Collection, baseCollection;
347
322
  return _regenerator.default.wrap(function _callee7$(_context7) {
348
- while (1) {
349
- switch (_context7.prev = _context7.next) {
350
- case 0:
351
- mockFetchResults(function (opts) {
352
- var page = opts.data.page || 1;
353
- var fetchResults = {
354
- total_pages: 50,
355
- page: page,
356
- results: [{
357
- id: page + 10
358
- }]
359
- };
360
- return _bluebird.default.resolve(fetchResults);
361
- });
362
- (0, _api.G)(_base2.BaseModel, "TestModel");
363
- Collection = (0, _api.G)(_base.BaseCollection.extend({
364
- model: "TestModel"
365
- }));
366
- baseCollection = new Collection();
367
- _context7.next = 6;
368
- return baseCollection.fetchAll();
369
-
370
- case 6:
371
- expect(baseCollection.length).toEqual(20);
372
- expect(baseCollection.first().id).toEqual(11);
373
- expect(baseCollection.last().id).toEqual(30);
374
-
375
- case 9:
376
- case "end":
377
- return _context7.stop();
378
- }
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();
379
350
  }
380
351
  }, _callee7);
381
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","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 { BaseCollection } from \"./base.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport AmpersandCollection from \"ampersand-rest-collection\";\nimport { G } from \"sp-test/api\";\nimport td from \"testdouble\";\nimport Promise from \"bluebird\";\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 function () {\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\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","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","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","_callee3","_iterator2","_step2","_callee3$","_context3","url","toEqual","concat","data","foo","firstCollection","secondCollection","AppointmentCollection","areModelsFetched","toBe","mockFetchResults","dataFn","jest","spyOn","AmpersandCollection","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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"}