@projectcor/maia-components 2.35.3 → 2.35.4-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 (210) hide show
  1. package/CHANGELOG.md +727 -0
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +63 -4
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
  4. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +16 -4
  5. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  6. package/lib/components/atoms/Chip/Chip.spec.js +32 -0
  7. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  8. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
  9. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
  10. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  11. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  12. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
  13. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  14. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
  15. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
  16. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  17. package/lib/components/atoms/MAIAInput/MAIAInput.js +243 -42
  18. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +283 -0
  19. package/lib/components/atoms/MAIAInput/styles.js +41 -44
  20. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +68 -0
  21. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
  22. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  23. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
  24. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  25. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
  26. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  27. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  28. package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
  29. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  30. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  31. package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
  32. package/lib/components/atoms/icons/index.js +5 -1
  33. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +34 -11
  34. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
  35. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
  36. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
  37. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
  38. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
  39. package/lib/components/molecules/ChatAIHome/styles.js +2 -11
  40. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
  41. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  42. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -3
  43. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
  44. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  45. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +59 -20
  46. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  47. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
  48. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
  49. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -14
  50. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  51. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -17
  52. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
  53. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  54. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
  55. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  56. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +333 -242
  57. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
  58. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +131 -104
  59. package/lib/components/molecules/ChatFooter/ChatFooter.js +57 -63
  60. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +105 -0
  61. package/lib/components/molecules/ChatFooter/styles.js +6 -12
  62. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  63. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  64. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  65. package/lib/components/molecules/Sidebar/Sidebar.js +13 -6
  66. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +3 -3
  67. package/lib/components/molecules/Sidebar/Sidebar.spec.js +183 -0
  68. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +30 -46
  69. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
  70. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
  71. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +430 -184
  72. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +293 -0
  73. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +132 -72
  74. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  75. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  76. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  77. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  78. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  79. package/lib/constants/config.js +1 -4
  80. package/lib/constants/permissions/utils.js +3 -3
  81. package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
  82. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
  83. package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
  84. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
  85. package/lib/hooks/useCaretPosition.spec.js +58 -0
  86. package/lib/hooks/useChatManager/useChatManager.js +12 -19
  87. package/lib/hooks/useContextMentions.js +96 -56
  88. package/lib/hooks/useDebounce.spec.js +42 -0
  89. package/lib/hooks/useEntitySearch.js +92 -278
  90. package/lib/hooks/useEvent.js +15 -2
  91. package/lib/hooks/useEvent.spec.js +40 -0
  92. package/lib/hooks/useMentionAllowedTypes.js +9 -25
  93. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  94. package/lib/hooks/useMentionPopover.js +9 -33
  95. package/lib/hooks/useModal/useModal.spec.js +73 -0
  96. package/lib/hooks/useResize.spec.js +37 -0
  97. package/lib/hooks/useSkillsCatalog.js +66 -0
  98. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  99. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  100. package/lib/hooks/useT.spec.js +20 -0
  101. package/lib/hooks/useToggle.spec.js +33 -0
  102. package/lib/lang/br/index.js +39 -12
  103. package/lib/lang/en/index.js +39 -12
  104. package/lib/lang/es/index.js +40 -13
  105. package/lib/lang/fr/index.js +40 -13
  106. package/lib/services/maia/Access/updateAccess.spec.js +108 -0
  107. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +69 -0
  108. package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
  109. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  110. package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
  111. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  112. package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
  113. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
  114. package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
  115. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  116. package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
  117. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  118. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  119. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  120. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  121. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  122. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  123. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  124. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  125. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  126. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  127. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  128. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  129. package/lib/services/maia/Orchestrator/orchestrator.js +16 -7
  130. package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
  131. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  132. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
  133. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  134. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  135. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  136. package/lib/services/maia/Skills/createSkill.js +1 -1
  137. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  138. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  139. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  140. package/lib/services/maia/Skills/getSkills.js +70 -40
  141. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  142. package/lib/services/maia/Skills/updateSkill.js +1 -1
  143. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  144. package/lib/services/maia/client.spec.js +56 -0
  145. package/lib/services/maia/index.js +2 -4
  146. package/lib/services/utils/fetchCOR.js +57 -106
  147. package/lib/services/utils/fetchCOR.spec.js +211 -0
  148. package/lib/services/utils/getCookie.spec.js +20 -0
  149. package/lib/services/utils/index.js +1 -2
  150. package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
  151. package/lib/store/faqsStore.types.js +1 -1
  152. package/lib/store/index.js +1 -2
  153. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  154. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  155. package/lib/store/sessions/sessionStreamManager.js +7 -24
  156. package/lib/store/sessions/sessions.types.spec.js +16 -0
  157. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  158. package/lib/store/useChatsStore.js +3 -3
  159. package/lib/store/useChatsStore.spec.js +619 -0
  160. package/lib/store/useFaqsStore.spec.js +57 -0
  161. package/lib/test/buttonMock.js +22 -0
  162. package/lib/test/fetchPolyfill.js +160 -0
  163. package/lib/test/fileMock.js +2 -0
  164. package/lib/test/global-context.js +49 -0
  165. package/lib/test/iconMock.js +19 -0
  166. package/lib/test/mockFetch.js +49 -0
  167. package/lib/test/portalRoot.js +13 -0
  168. package/lib/test/styleMock.js +2 -0
  169. package/lib/test/test-utils.js +26 -0
  170. package/lib/test/tooltipMock.js +11 -0
  171. package/lib/types/Chat.js +1 -1
  172. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  173. package/lib/types/agentModal.js +1 -1
  174. package/lib/types/skill.js +1 -1
  175. package/lib/utils/agentDisplayName.spec.js +44 -0
  176. package/lib/utils/autoApproveStorage.spec.js +25 -0
  177. package/lib/utils/chatInputFiles.spec.js +39 -0
  178. package/lib/utils/contextMentionLabel.spec.js +13 -0
  179. package/lib/utils/contextMentionTriggers.js +2 -5
  180. package/lib/utils/contextMentionTriggers.spec.js +38 -0
  181. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  182. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  183. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  184. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  185. package/lib/utils/formatUnreadCount.spec.js +12 -0
  186. package/lib/utils/getUnitFileSize.spec.js +18 -0
  187. package/lib/utils/hitlAnalytics.spec.js +100 -0
  188. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  189. package/lib/utils/mapBackendLang.spec.js +19 -0
  190. package/lib/utils/normalizeAgentConnectors.js +44 -16
  191. package/lib/utils/normalizeAgentConnectors.spec.js +89 -0
  192. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  193. package/lib/utils/reasoningMappers.spec.js +103 -0
  194. package/lib/utils/renderContextMentions.js +39 -18
  195. package/lib/utils/retryCompletion.spec.js +99 -0
  196. package/lib/utils/skillContentSize.spec.js +13 -0
  197. package/lib/utils/slashCommandMarker.spec.js +43 -0
  198. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  199. package/lib/utils/sseStreamContent.spec.js +31 -0
  200. package/lib/utils/streamActivityMessages.spec.js +98 -0
  201. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  202. package/package.json +9 -6
  203. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -33
  204. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
  205. package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
  206. package/lib/services/maia/Usage/getUsage.js +0 -45
  207. package/lib/services/maia/Usage/index.js +0 -6
  208. package/lib/services/utils/MaiaApiError.js +0 -34
  209. package/lib/store/useUsageStore.js +0 -108
  210. package/lib/types/usage.js +0 -9
@@ -0,0 +1,83 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { getRecentContexts } from './getRecentContexts';
5
+ describe('getRecentContexts', function () {
6
+ it('filters invalid items and sends the agent header', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var result;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({
12
+ data: [{
13
+ type: 'project',
14
+ id: 1,
15
+ name: 'Alpha'
16
+ }, {
17
+ type: 'unknown',
18
+ id: 2,
19
+ name: 'Skip'
20
+ }, {
21
+ type: 'task',
22
+ id: 3
23
+ }, {
24
+ type: 'client',
25
+ id: 4,
26
+ name: 'ACME'
27
+ }]
28
+ });
29
+ _context.next = 1;
30
+ return getRecentContexts({
31
+ agentId: 9,
32
+ limit: 5
33
+ });
34
+ case 1:
35
+ result = _context.sent;
36
+ expect(lastFetch().url).toBe('https://maia.test/recent-contexts?limit=5');
37
+ expect(lastFetch().headers.get('X-Agent-Id')).toBe('9');
38
+ expect(result).toEqual([{
39
+ type: 'project',
40
+ id: 1,
41
+ name: 'Alpha'
42
+ }, {
43
+ type: 'client',
44
+ id: 4,
45
+ name: 'ACME'
46
+ }]);
47
+ case 2:
48
+ case "end":
49
+ return _context.stop();
50
+ }
51
+ }, _callee);
52
+ })));
53
+ it('omits optional params', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
54
+ return _regeneratorRuntime.wrap(function (_context2) {
55
+ while (1) switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ mockJsonOk([]);
58
+ _context2.next = 1;
59
+ return expect(getRecentContexts()).resolves.toEqual([]);
60
+ case 1:
61
+ expect(lastFetch().url).toBe('https://maia.test/recent-contexts');
62
+ expect(lastFetch().headers.get('X-Agent-Id')).toBeNull();
63
+ case 2:
64
+ case "end":
65
+ return _context2.stop();
66
+ }
67
+ }, _callee2);
68
+ })));
69
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
70
+ return _regeneratorRuntime.wrap(function (_context3) {
71
+ while (1) switch (_context3.prev = _context3.next) {
72
+ case 0:
73
+ mockJsonError(500);
74
+ _context3.next = 1;
75
+ return expect(getRecentContexts()).rejects.toThrow('Failed fetching data');
76
+ case 1:
77
+ case "end":
78
+ return _context3.stop();
79
+ }
80
+ }, _callee3);
81
+ })));
82
+ });
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudENvbnRleHRzIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzdWx0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkYXRhIiwidHlwZSIsImlkIiwibmFtZSIsImFnZW50SWQiLCJsaW1pdCIsInNlbnQiLCJleHBlY3QiLCJ1cmwiLCJ0b0JlIiwiaGVhZGVycyIsImdldCIsInRvRXF1YWwiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJyZXNvbHZlcyIsInRvQmVOdWxsIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJyZWplY3RzIiwidG9UaHJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzL2dldFJlY2VudENvbnRleHRzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbkVycm9yLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBnZXRSZWNlbnRDb250ZXh0cyB9IGZyb20gJy4vZ2V0UmVjZW50Q29udGV4dHMnXG5cbmRlc2NyaWJlKCdnZXRSZWNlbnRDb250ZXh0cycsICgpID0+IHtcbiAgaXQoJ2ZpbHRlcnMgaW52YWxpZCBpdGVtcyBhbmQgc2VuZHMgdGhlIGFnZW50IGhlYWRlcicsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHtcbiAgICAgIGRhdGE6IFtcbiAgICAgICAgeyB0eXBlOiAncHJvamVjdCcsIGlkOiAxLCBuYW1lOiAnQWxwaGEnIH0sXG4gICAgICAgIHsgdHlwZTogJ3Vua25vd24nLCBpZDogMiwgbmFtZTogJ1NraXAnIH0sXG4gICAgICAgIHsgdHlwZTogJ3Rhc2snLCBpZDogMyB9LFxuICAgICAgICB7IHR5cGU6ICdjbGllbnQnLCBpZDogNCwgbmFtZTogJ0FDTUUnIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRSZWNlbnRDb250ZXh0cyh7IGFnZW50SWQ6IDksIGxpbWl0OiA1IH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtY29udGV4dHM/bGltaXQ9NScpXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLmhlYWRlcnMuZ2V0KCdYLUFnZW50LUlkJykpLnRvQmUoJzknKVxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW1xuICAgICAgeyB0eXBlOiAncHJvamVjdCcsIGlkOiAxLCBuYW1lOiAnQWxwaGEnIH0sXG4gICAgICB7IHR5cGU6ICdjbGllbnQnLCBpZDogNCwgbmFtZTogJ0FDTUUnIH0sXG4gICAgXSlcbiAgfSlcblxuICBpdCgnb21pdHMgb3B0aW9uYWwgcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soW10pXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50Q29udGV4dHMoKSkucmVzb2x2ZXMudG9FcXVhbChbXSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtY29udGV4dHMnKVxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS5oZWFkZXJzLmdldCgnWC1BZ2VudC1JZCcpKS50b0JlTnVsbCgpXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50Q29udGV4dHMoKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoi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
@@ -0,0 +1,82 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { getRecentProjects } from './getRecentProjects';
5
+ var project = {
6
+ id: 1,
7
+ title: 'Alpha',
8
+ clientId: 2,
9
+ clientName: 'ACME'
10
+ };
11
+ describe('getRecentProjects', function () {
12
+ it('unwraps data from the API envelope', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
13
+ return _regeneratorRuntime.wrap(function (_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ mockJsonOk({
17
+ data: [project]
18
+ });
19
+ _context.next = 1;
20
+ return expect(getRecentProjects()).resolves.toEqual([project]);
21
+ case 1:
22
+ expect(lastFetch().url).toBe('https://maia.test/recent-projects');
23
+ case 2:
24
+ case "end":
25
+ return _context.stop();
26
+ }
27
+ }, _callee);
28
+ })));
29
+ it('accepts a bare array or a projects key', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
30
+ return _regeneratorRuntime.wrap(function (_context2) {
31
+ while (1) switch (_context2.prev = _context2.next) {
32
+ case 0:
33
+ mockJsonOk([project]);
34
+ _context2.next = 1;
35
+ return expect(getRecentProjects()).resolves.toEqual([project]);
36
+ case 1:
37
+ mockJsonOk({
38
+ projects: [project]
39
+ });
40
+ _context2.next = 2;
41
+ return expect(getRecentProjects()).resolves.toEqual([project]);
42
+ case 2:
43
+ case "end":
44
+ return _context2.stop();
45
+ }
46
+ }, _callee2);
47
+ })));
48
+ it('adds clientId and cor-events filters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
49
+ return _regeneratorRuntime.wrap(function (_context3) {
50
+ while (1) switch (_context3.prev = _context3.next) {
51
+ case 0:
52
+ mockJsonOk({
53
+ data: []
54
+ });
55
+ _context3.next = 1;
56
+ return getRecentProjects({
57
+ clientId: 9,
58
+ corEvents: true
59
+ });
60
+ case 1:
61
+ expect(lastFetch().url).toBe('https://maia.test/recent-projects?clientId=9&cor-events=true');
62
+ case 2:
63
+ case "end":
64
+ return _context3.stop();
65
+ }
66
+ }, _callee3);
67
+ })));
68
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
69
+ return _regeneratorRuntime.wrap(function (_context4) {
70
+ while (1) switch (_context4.prev = _context4.next) {
71
+ case 0:
72
+ mockJsonError(500);
73
+ _context4.next = 1;
74
+ return expect(getRecentProjects()).rejects.toThrow('Failed fetching data');
75
+ case 1:
76
+ case "end":
77
+ return _context4.stop();
78
+ }
79
+ }, _callee4);
80
+ })));
81
+ });
82
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFByb2plY3RzIiwicHJvamVjdCIsImlkIiwidGl0bGUiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRhdGEiLCJleHBlY3QiLCJyZXNvbHZlcyIsInRvRXF1YWwiLCJ1cmwiLCJ0b0JlIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicHJvamVjdHMiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImNvckV2ZW50cyIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRQcm9qZWN0cy9nZXRSZWNlbnRQcm9qZWN0cy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50UHJvamVjdHMgfSBmcm9tICcuL2dldFJlY2VudFByb2plY3RzJ1xuXG5jb25zdCBwcm9qZWN0ID0geyBpZDogMSwgdGl0bGU6ICdBbHBoYScsIGNsaWVudElkOiAyLCBjbGllbnROYW1lOiAnQUNNRScgfVxuXG5kZXNjcmliZSgnZ2V0UmVjZW50UHJvamVjdHMnLCAoKSA9PiB7XG4gIGl0KCd1bndyYXBzIGRhdGEgZnJvbSB0aGUgQVBJIGVudmVsb3BlJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbcHJvamVjdF0gfSlcblxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRQcm9qZWN0cygpKS5yZXNvbHZlcy50b0VxdWFsKFtwcm9qZWN0XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtcHJvamVjdHMnKVxuICB9KVxuXG4gIGl0KCdhY2NlcHRzIGEgYmFyZSBhcnJheSBvciBhIHByb2plY3RzIGtleScsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKFtwcm9qZWN0XSlcbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50UHJvamVjdHMoKSkucmVzb2x2ZXMudG9FcXVhbChbcHJvamVjdF0pXG5cbiAgICBtb2NrSnNvbk9rKHsgcHJvamVjdHM6IFtwcm9qZWN0XSB9KVxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRQcm9qZWN0cygpKS5yZXNvbHZlcy50b0VxdWFsKFtwcm9qZWN0XSlcbiAgfSlcblxuICBpdCgnYWRkcyBjbGllbnRJZCBhbmQgY29yLWV2ZW50cyBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbXSB9KVxuXG4gICAgYXdhaXQgZ2V0UmVjZW50UHJvamVjdHMoeyBjbGllbnRJZDogOSwgY29yRXZlbnRzOiB0cnVlIH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtcHJvamVjdHM/Y2xpZW50SWQ9OSZjb3ItZXZlbnRzPXRydWUnKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFByb2plY3RzKCkpLnJlamVjdHMudG9UaHJvdygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxRQUFRLHlCQUF5QjtBQUM5RSxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFFdkQsSUFBTUMsT0FBTyxHQUFHO0VBQUVDLEVBQUUsRUFBRSxDQUFDO0VBQUVDLEtBQUssRUFBRSxPQUFPO0VBQUVDLFFBQVEsRUFBRSxDQUFDO0VBQUVDLFVBQVUsRUFBRTtBQUFPLENBQUM7QUFFMUVDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDQyxFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUN2Q2hCLFVBQVUsQ0FBQztZQUFFaUIsSUFBSSxFQUFFLENBQUNmLE9BQU87VUFBRSxDQUFDLENBQUM7VUFBQVksUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFekJFLE1BQU0sQ0FBQ2pCLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDa0IsUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQ2xCLE9BQU8sQ0FBQyxDQUFDO1FBQUE7VUFDN0RnQixNQUFNLENBQUNwQixTQUFTLENBQUMsQ0FBQyxDQUFDdUIsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBUixRQUFBLENBQUFTLElBQUE7TUFBQTtJQUFBLEdBQUFYLE9BQUE7RUFBQSxDQUNsRSxHQUFDO0VBRUZKLEVBQUUsQ0FBQyx3Q0FBd0MsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFhLFNBQUE7SUFBQSxPQUFBZCxtQkFBQSxDQUFBRyxJQUFBLFdBQUFZLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBVixJQUFBLEdBQUFVLFNBQUEsQ0FBQVQsSUFBQTtRQUFBO1VBQzNDaEIsVUFBVSxDQUFDLENBQUNFLE9BQU8sQ0FBQyxDQUFDO1VBQUF1QixTQUFBLENBQUFULElBQUE7VUFBQSxPQUNmRSxNQUFNLENBQUNqQixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQ2tCLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDLENBQUNsQixPQUFPLENBQUMsQ0FBQztRQUFBO1VBRTdERixVQUFVLENBQUM7WUFBRTBCLFFBQVEsRUFBRSxDQUFDeEIsT0FBTztVQUFFLENBQUMsQ0FBQztVQUFBdUIsU0FBQSxDQUFBVCxJQUFBO1VBQUEsT0FDN0JFLE1BQU0sQ0FBQ2pCLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDa0IsUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQ2xCLE9BQU8sQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUF1QixTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUM5RCxHQUFDO0VBRUZoQixFQUFFLENBQUMsc0NBQXNDLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBZ0IsU0FBQTtJQUFBLE9BQUFqQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFlLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBYixJQUFBLEdBQUFhLFNBQUEsQ0FBQVosSUFBQTtRQUFBO1VBQ3pDaEIsVUFBVSxDQUFDO1lBQUVpQixJQUFJLEVBQUU7VUFBRyxDQUFDLENBQUM7VUFBQVcsU0FBQSxDQUFBWixJQUFBO1VBQUEsT0FFbEJmLGlCQUFpQixDQUFDO1lBQUVJLFFBQVEsRUFBRSxDQUFDO1lBQUV3QixTQUFTLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtVQUV6RFgsTUFBTSxDQUFDcEIsU0FBUyxDQUFDLENBQUMsQ0FBQ3VCLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsOERBQThELENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQU0sU0FBQSxDQUFBTCxJQUFBO01BQUE7SUFBQSxHQUFBSSxRQUFBO0VBQUEsQ0FDN0YsR0FBQztFQUVGbkIsRUFBRSxDQUFDLG9DQUFvQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQW1CLFNBQUE7SUFBQSxPQUFBcEIsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBa0IsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFoQixJQUFBLEdBQUFnQixTQUFBLENBQUFmLElBQUE7UUFBQTtVQUN2Q2pCLGFBQWEsQ0FBQyxHQUFHLENBQUM7VUFBQWdDLFNBQUEsQ0FBQWYsSUFBQTtVQUFBLE9BRVpFLE1BQU0sQ0FBQ2pCLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDK0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBUixJQUFBO01BQUE7SUFBQSxHQUFBTyxRQUFBO0VBQUEsQ0FDMUUsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,63 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { getRecentTasks } from './getRecentTasks';
5
+ describe('getRecentTasks', function () {
6
+ it('requests recent tasks without filters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ mockJsonOk({
11
+ data: [{
12
+ id: 1,
13
+ title: 'Tarea'
14
+ }]
15
+ });
16
+ _context.next = 1;
17
+ return expect(getRecentTasks()).resolves.toEqual([{
18
+ id: 1,
19
+ title: 'Tarea'
20
+ }]);
21
+ case 1:
22
+ expect(lastFetch().url).toBe('https://maia.test/recent-tasks');
23
+ case 2:
24
+ case "end":
25
+ return _context.stop();
26
+ }
27
+ }, _callee);
28
+ })));
29
+ it('adds project and client filters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
30
+ return _regeneratorRuntime.wrap(function (_context2) {
31
+ while (1) switch (_context2.prev = _context2.next) {
32
+ case 0:
33
+ mockJsonOk({
34
+ data: []
35
+ });
36
+ _context2.next = 1;
37
+ return getRecentTasks({
38
+ projectId: 3,
39
+ clientId: 8
40
+ });
41
+ case 1:
42
+ expect(lastFetch().url).toBe('https://maia.test/recent-tasks?projectId=3&clientId=8');
43
+ case 2:
44
+ case "end":
45
+ return _context2.stop();
46
+ }
47
+ }, _callee2);
48
+ })));
49
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
50
+ return _regeneratorRuntime.wrap(function (_context3) {
51
+ while (1) switch (_context3.prev = _context3.next) {
52
+ case 0:
53
+ mockJsonError(500);
54
+ _context3.next = 1;
55
+ return expect(getRecentTasks()).rejects.toThrow('Failed fetching data');
56
+ case 1:
57
+ case "end":
58
+ return _context3.stop();
59
+ }
60
+ }, _callee3);
61
+ })));
62
+ });
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFRhc2tzIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkYXRhIiwiaWQiLCJ0aXRsZSIsImV4cGVjdCIsInJlc29sdmVzIiwidG9FcXVhbCIsInVybCIsInRvQmUiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRUYXNrcy9nZXRSZWNlbnRUYXNrcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50VGFza3MgfSBmcm9tICcuL2dldFJlY2VudFRhc2tzJ1xuXG5kZXNjcmliZSgnZ2V0UmVjZW50VGFza3MnLCAoKSA9PiB7XG4gIGl0KCdyZXF1ZXN0cyByZWNlbnQgdGFza3Mgd2l0aG91dCBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbeyBpZDogMSwgdGl0bGU6ICdUYXJlYScgfV0gfSlcblxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRUYXNrcygpKS5yZXNvbHZlcy50b0VxdWFsKFt7IGlkOiAxLCB0aXRsZTogJ1RhcmVhJyB9XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdGFza3MnKVxuICB9KVxuXG4gIGl0KCdhZGRzIHByb2plY3QgYW5kIGNsaWVudCBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbXSB9KVxuXG4gICAgYXdhaXQgZ2V0UmVjZW50VGFza3MoeyBwcm9qZWN0SWQ6IDMsIGNsaWVudElkOiA4IH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdGFza3M/cHJvamVjdElkPTMmY2xpZW50SWQ9OCcpXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50VGFza3MoKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakRDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFNO0VBQy9CQyxFQUFFLENBQUMsdUNBQXVDLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUMxQ1gsVUFBVSxDQUFDO1lBQUVZLElBQUksRUFBRSxDQUFDO2NBQUVDLEVBQUUsRUFBRSxDQUFDO2NBQUVDLEtBQUssRUFBRTtZQUFRLENBQUM7VUFBRSxDQUFDLENBQUM7VUFBQUwsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFM0NJLE1BQU0sQ0FBQ2QsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDZSxRQUFRLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1lBQUVKLEVBQUUsRUFBRSxDQUFDO1lBQUVDLEtBQUssRUFBRTtVQUFRLENBQUMsQ0FBQyxDQUFDO1FBQUE7VUFDNUVDLE1BQU0sQ0FBQ2pCLFNBQVMsQ0FBQyxDQUFDLENBQUNvQixHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFWLFFBQUEsQ0FBQVcsSUFBQTtNQUFBO0lBQUEsR0FBQWIsT0FBQTtFQUFBLENBQy9ELEdBQUM7RUFFRkosRUFBRSxDQUFDLGlDQUFpQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQWUsU0FBQTtJQUFBLE9BQUFoQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFjLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBWixJQUFBLEdBQUFZLFNBQUEsQ0FBQVgsSUFBQTtRQUFBO1VBQ3BDWCxVQUFVLENBQUM7WUFBRVksSUFBSSxFQUFFO1VBQUcsQ0FBQyxDQUFDO1VBQUFVLFNBQUEsQ0FBQVgsSUFBQTtVQUFBLE9BRWxCVixjQUFjLENBQUM7WUFBRXNCLFNBQVMsRUFBRSxDQUFDO1lBQUVDLFFBQVEsRUFBRTtVQUFFLENBQUMsQ0FBQztRQUFBO1VBRW5EVCxNQUFNLENBQUNqQixTQUFTLENBQUMsQ0FBQyxDQUFDb0IsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyx1REFBdUQsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRyxTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUN0RixHQUFDO0VBRUZsQixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBbUIsU0FBQTtJQUFBLE9BQUFwQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFrQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWhCLElBQUEsR0FBQWdCLFNBQUEsQ0FBQWYsSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUEyQixTQUFBLENBQUFmLElBQUE7VUFBQSxPQUVaSSxNQUFNLENBQUNkLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQzBCLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFGLFNBQUEsQ0FBQU4sSUFBQTtNQUFBO0lBQUEsR0FBQUssUUFBQTtFQUFBLENBQ3ZFLEdBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,82 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { getRecentUsers } from './getRecentUsers';
5
+ jest.mock('../../../lang/utils', function () {
6
+ return {
7
+ mapCORLang: function mapCORLang(lang) {
8
+ return lang === 'br' ? 'pt' : lang;
9
+ }
10
+ };
11
+ });
12
+ describe('getRecentUsers', function () {
13
+ it('maps br to pt', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
14
+ return _regeneratorRuntime.wrap(function (_context) {
15
+ while (1) switch (_context.prev = _context.next) {
16
+ case 0:
17
+ mockJsonOk({
18
+ data: [{
19
+ id: 1,
20
+ firstName: 'Ana'
21
+ }]
22
+ });
23
+ _context.next = 1;
24
+ return expect(getRecentUsers({
25
+ lang: 'br'
26
+ })).resolves.toEqual([{
27
+ id: 1,
28
+ firstName: 'Ana'
29
+ }]);
30
+ case 1:
31
+ expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=pt');
32
+ case 2:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }, _callee);
37
+ })));
38
+ it('keeps es and falls back unknown langs to en', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
39
+ return _regeneratorRuntime.wrap(function (_context2) {
40
+ while (1) switch (_context2.prev = _context2.next) {
41
+ case 0:
42
+ mockJsonOk({
43
+ data: []
44
+ });
45
+ _context2.next = 1;
46
+ return getRecentUsers({
47
+ lang: 'es'
48
+ });
49
+ case 1:
50
+ expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=es');
51
+ mockJsonOk({
52
+ data: []
53
+ });
54
+ _context2.next = 2;
55
+ return getRecentUsers({
56
+ lang: 'fr'
57
+ });
58
+ case 2:
59
+ expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=en');
60
+ case 3:
61
+ case "end":
62
+ return _context2.stop();
63
+ }
64
+ }, _callee2);
65
+ })));
66
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
67
+ return _regeneratorRuntime.wrap(function (_context3) {
68
+ while (1) switch (_context3.prev = _context3.next) {
69
+ case 0:
70
+ mockJsonError(500);
71
+ _context3.next = 1;
72
+ return expect(getRecentUsers({
73
+ lang: 'es'
74
+ })).rejects.toThrow('Failed fetching data');
75
+ case 1:
76
+ case "end":
77
+ return _context3.stop();
78
+ }
79
+ }, _callee3);
80
+ })));
81
+ });
82
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFVzZXJzIiwiamVzdCIsIm1vY2siLCJtYXBDT1JMYW5nIiwibGFuZyIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZGF0YSIsImlkIiwiZmlyc3ROYW1lIiwiZXhwZWN0IiwicmVzb2x2ZXMiLCJ0b0VxdWFsIiwidXJsIiwidG9CZSIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRVc2Vycy9nZXRSZWNlbnRVc2Vycy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50VXNlcnMgfSBmcm9tICcuL2dldFJlY2VudFVzZXJzJ1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2xhbmcvdXRpbHMnLCAoKSA9PiAoe1xuICBtYXBDT1JMYW5nOiAobGFuZzogc3RyaW5nKSA9PiAobGFuZyA9PT0gJ2JyJyA/ICdwdCcgOiBsYW5nKSxcbn0pKVxuXG5kZXNjcmliZSgnZ2V0UmVjZW50VXNlcnMnLCAoKSA9PiB7XG4gIGl0KCdtYXBzIGJyIHRvIHB0JywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbeyBpZDogMSwgZmlyc3ROYW1lOiAnQW5hJyB9XSB9KVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFVzZXJzKHsgbGFuZzogJ2JyJyB9KSkucmVzb2x2ZXMudG9FcXVhbChbeyBpZDogMSwgZmlyc3ROYW1lOiAnQW5hJyB9XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdXNlcnM/bGFuZz1wdCcpXG4gIH0pXG5cbiAgaXQoJ2tlZXBzIGVzIGFuZCBmYWxscyBiYWNrIHVua25vd24gbGFuZ3MgdG8gZW4nLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7IGRhdGE6IFtdIH0pXG4gICAgYXdhaXQgZ2V0UmVjZW50VXNlcnMoeyBsYW5nOiAnZXMnIH0pXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvcmVjZW50LXVzZXJzP2xhbmc9ZXMnKVxuXG4gICAgbW9ja0pzb25Payh7IGRhdGE6IFtdIH0pXG4gICAgYXdhaXQgZ2V0UmVjZW50VXNlcnMoeyBsYW5nOiAnZnInIH0pXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvcmVjZW50LXVzZXJzP2xhbmc9ZW4nKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFVzZXJzKHsgbGFuZzogJ2VzJyB9KSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakRDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHFCQUFxQixFQUFFO0VBQUEsT0FBTztJQUN0Q0MsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUdDLElBQVk7TUFBQSxPQUFNQSxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUks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
@@ -36,4 +36,4 @@ export var createSkill = /*#__PURE__*/function () {
36
36
  return _ref.apply(this, arguments);
37
37
  };
38
38
  }();
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsIiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7IFNraWxsIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc2tpbGwnXG5cbmV4cG9ydCB0eXBlIFNraWxsQ3JlYXRlUmVxdWVzdCA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU2tpbGwgPSBhc3luYyAoc2tpbGw6IFNraWxsQ3JlYXRlUmVxdWVzdCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6ICdza2lsbHMnLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGJvZHk6IHNraWxsLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgc2tpbGwnKVxuICB9XG5cbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gIHJldHVybiBkYXRhXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFRckMsT0FBTyxJQUFNQyxXQUFXO0VBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBT0MsS0FBeUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTCxtQkFBQSxDQUFBTSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ2xDYixTQUFTLENBQUM7WUFDL0JjLElBQUksRUFBRSxRQUFRO1lBQ2RDLE1BQU0sRUFBRSxNQUFNO1lBQ2RDLElBQUksRUFBRVQ7VUFDUixDQUFDLENBQUM7UUFBQTtVQUpJQyxRQUFRLEdBQUFHLFFBQUEsQ0FBQU0sSUFBQTtVQUFBLElBTVRULFFBQVEsQ0FBQ1UsRUFBRTtZQUFBUCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFDUixJQUFJTSxLQUFLLENBQUMsd0JBQXdCLENBQUM7UUFBQTtVQUFBUixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUd4QkwsUUFBUSxDQUFDWSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQTVCWCxJQUFJLEdBQUFFLFFBQUEsQ0FBQU0sSUFBQTtVQUFBLE9BQUFOLFFBQUEsQ0FBQVUsTUFBQSxXQUVIWixJQUFJO1FBQUE7UUFBQTtVQUFBLE9BQUFFLFFBQUEsQ0FBQVcsSUFBQTtNQUFBO0lBQUEsR0FBQWhCLE9BQUE7RUFBQSxDQUNaO0VBQUEsZ0JBZFlMLFdBQVdBLENBQUFzQixFQUFBO0lBQUEsT0FBQXJCLElBQUEsQ0FBQXNCLEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FjdkIiLCJpZ25vcmVMaXN0IjpbXX0=
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsIiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7IFNraWxsLCBTa2lsbEFjY2Vzc1R5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuZXhwb3J0IHR5cGUgU2tpbGxDcmVhdGVSZXF1ZXN0ID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgYWNjZXNzX3R5cGU/OiBTa2lsbEFjY2Vzc1R5cGVcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNraWxsID0gYXN5bmMgKHNraWxsOiBTa2lsbENyZWF0ZVJlcXVlc3QpOiBQcm9taXNlPFNraWxsPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnc2tpbGxzJyxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBza2lsbCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBVXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLEtBQXlCO0lBQUEsSUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQUwsbUJBQUEsQ0FBQU0sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUNsQ2IsU0FBUyxDQUFDO1lBQy9CYyxJQUFJLEVBQUUsUUFBUTtZQUNkQyxNQUFNLEVBQUUsTUFBTTtZQUNkQyxJQUFJLEVBQUVUO1VBQ1IsQ0FBQyxDQUFDO1FBQUE7VUFKSUMsUUFBUSxHQUFBRyxRQUFBLENBQUFNLElBQUE7VUFBQSxJQU1UVCxRQUFRLENBQUNVLEVBQUU7WUFBQVAsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDO1FBQUE7VUFBQVIsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHeEJMLFFBQVEsQ0FBQ1ksSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QlgsSUFBSSxHQUFBRSxRQUFBLENBQUFNLElBQUE7VUFBQSxPQUFBTixRQUFBLENBQUFVLE1BQUEsV0FFSFosSUFBSTtRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFXLElBQUE7TUFBQTtJQUFBLEdBQUFoQixPQUFBO0VBQUEsQ0FDWjtFQUFBLGdCQWRZTCxXQUFXQSxDQUFBc0IsRUFBQTtJQUFBLE9BQUFyQixJQUFBLENBQUFzQixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBY3ZCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,68 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { createSkill } from './createSkill';
5
+ describe('createSkill', function () {
6
+ it('posts the skill and returns the payload', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var result;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({
12
+ id: 'sk1',
13
+ name: 'Resumir',
14
+ description: 'Resume briefs',
15
+ content: 'Resume',
16
+ access_type: 'company'
17
+ });
18
+ _context.next = 1;
19
+ return createSkill({
20
+ name: 'Resumir',
21
+ description: 'Resume briefs',
22
+ content: 'Resume',
23
+ access_type: 'company'
24
+ });
25
+ case 1:
26
+ result = _context.sent;
27
+ expect(lastFetch()).toMatchObject({
28
+ url: 'https://maia.test/skills',
29
+ method: 'POST',
30
+ parsedBody: {
31
+ name: 'Resumir',
32
+ description: 'Resume briefs',
33
+ content: 'Resume',
34
+ access_type: 'company'
35
+ }
36
+ });
37
+ expect(result).toEqual({
38
+ id: 'sk1',
39
+ name: 'Resumir',
40
+ description: 'Resume briefs',
41
+ content: 'Resume',
42
+ access_type: 'company'
43
+ });
44
+ case 2:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ })));
50
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
51
+ return _regeneratorRuntime.wrap(function (_context2) {
52
+ while (1) switch (_context2.prev = _context2.next) {
53
+ case 0:
54
+ mockJsonError(400);
55
+ _context2.next = 1;
56
+ return expect(createSkill({
57
+ name: 'X',
58
+ description: '',
59
+ content: 'Y'
60
+ })).rejects.toThrow('Failed fetching data');
61
+ case 1:
62
+ case "end":
63
+ return _context2.stop();
64
+ }
65
+ }, _callee2);
66
+ })));
67
+ });
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImNyZWF0ZVNraWxsIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzdWx0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJpZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImNvbnRlbnQiLCJhY2Nlc3NfdHlwZSIsInNlbnQiLCJleHBlY3QiLCJ0b01hdGNoT2JqZWN0IiwidXJsIiwibWV0aG9kIiwicGFyc2VkQm9keSIsInRvRXF1YWwiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJyZWplY3RzIiwidG9UaHJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy9jcmVhdGVTa2lsbC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgY3JlYXRlU2tpbGwgfSBmcm9tICcuL2NyZWF0ZVNraWxsJ1xuXG5kZXNjcmliZSgnY3JlYXRlU2tpbGwnLCAoKSA9PiB7XG4gIGl0KCdwb3N0cyB0aGUgc2tpbGwgYW5kIHJldHVybnMgdGhlIHBheWxvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7XG4gICAgICBpZDogJ3NrMScsXG4gICAgICBuYW1lOiAnUmVzdW1pcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBicmllZnMnLFxuICAgICAgY29udGVudDogJ1Jlc3VtZScsXG4gICAgICBhY2Nlc3NfdHlwZTogJ2NvbXBhbnknLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjcmVhdGVTa2lsbCh7XG4gICAgICBuYW1lOiAnUmVzdW1pcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBicmllZnMnLFxuICAgICAgY29udGVudDogJ1Jlc3VtZScsXG4gICAgICBhY2Nlc3NfdHlwZTogJ2NvbXBhbnknLFxuICAgIH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgdXJsOiAnaHR0cHM6Ly9tYWlhLnRlc3Qvc2tpbGxzJyxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgcGFyc2VkQm9keToge1xuICAgICAgICBuYW1lOiAnUmVzdW1pcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVzdW1lIGJyaWVmcycsXG4gICAgICAgIGNvbnRlbnQ6ICdSZXN1bWUnLFxuICAgICAgICBhY2Nlc3NfdHlwZTogJ2NvbXBhbnknLFxuICAgICAgfSxcbiAgICB9KVxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgaWQ6ICdzazEnLFxuICAgICAgbmFtZTogJ1Jlc3VtaXInLFxuICAgICAgZGVzY3JpcHRpb246ICdSZXN1bWUgYnJpZWZzJyxcbiAgICAgIGNvbnRlbnQ6ICdSZXN1bWUnLFxuICAgICAgYWNjZXNzX3R5cGU6ICdjb21wYW55JyxcbiAgICB9KVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNDAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGNyZWF0ZVNraWxsKHsgbmFtZTogJ1gnLCBkZXNjcmlwdGlvbjogJycsIGNvbnRlbnQ6ICdZJyB9KSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBRTNDQyxRQUFRLENBQUMsYUFBYSxFQUFFLFlBQU07RUFDNUJDLEVBQUUsQ0FBQyx5Q0FBeUMsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7SUFBQSxJQUFBQyxNQUFBO0lBQUEsT0FBQUgsbUJBQUEsQ0FBQUksSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUM1Q1osVUFBVSxDQUFDO1lBQ1RhLEVBQUUsRUFBRSxLQUFLO1lBQ1RDLElBQUksRUFBRSxTQUFTO1lBQ2ZDLFdBQVcsRUFBRSxlQUFlO1lBQzVCQyxPQUFPLEVBQUUsUUFBUTtZQUNqQkMsV0FBVyxFQUFFO1VBQ2YsQ0FBQyxDQUFDO1VBQUFQLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRW1CWCxXQUFXLENBQUM7WUFDL0JhLElBQUksRUFBRSxTQUFTO1lBQ2ZDLFdBQVcsRUFBRSxlQUFlO1lBQzVCQyxPQUFPLEVBQUUsUUFBUTtZQUNqQkMsV0FBVyxFQUFFO1VBQ2YsQ0FBQyxDQUFDO1FBQUE7VUFMSVQsTUFBTSxHQUFBRSxRQUFBLENBQUFRLElBQUE7VUFPWkMsTUFBTSxDQUFDckIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDc0IsYUFBYSxDQUFDO1lBQ2hDQyxHQUFHLEVBQUUsMEJBQTBCO1lBQy9CQyxNQUFNLEVBQUUsTUFBTTtZQUNkQyxVQUFVLEVBQUU7Y0FDVlQsSUFBSSxFQUFFLFNBQVM7Y0FDZkMsV0FBVyxFQUFFLGVBQWU7Y0FDNUJDLE9BQU8sRUFBRSxRQUFRO2NBQ2pCQyxXQUFXLEVBQUU7WUFDZjtVQUNGLENBQUMsQ0FBQztVQUNGRSxNQUFNLENBQUNYLE1BQU0sQ0FBQyxDQUFDZ0IsT0FBTyxDQUFDO1lBQ3JCWCxFQUFFLEVBQUUsS0FBSztZQUNUQyxJQUFJLEVBQUUsU0FBUztZQUNmQyxXQUFXLEVBQUUsZUFBZTtZQUM1QkMsT0FBTyxFQUFFLFFBQVE7WUFDakJDLFdBQVcsRUFBRTtVQUNmLENBQUMsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBUCxRQUFBLENBQUFlLElBQUE7TUFBQTtJQUFBLEdBQUFsQixPQUFBO0VBQUEsQ0FDSCxHQUFDO0VBRUZKLEVBQUUsQ0FBQyxvQ0FBb0MsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFvQixTQUFBO0lBQUEsT0FBQXJCLG1CQUFBLENBQUFJLElBQUEsV0FBQWtCLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBaEIsSUFBQSxHQUFBZ0IsU0FBQSxDQUFBZixJQUFBO1FBQUE7VUFDdkNiLGFBQWEsQ0FBQyxHQUFHLENBQUM7VUFBQTRCLFNBQUEsQ0FBQWYsSUFBQTtVQUFBLE9BRVpPLE1BQU0sQ0FBQ2xCLFdBQVcsQ0FBQztZQUFFYSxJQUFJLEVBQUUsR0FBRztZQUFFQyxXQUFXLEVBQUUsRUFBRTtZQUFFQyxPQUFPLEVBQUU7VUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDWSxPQUFPLENBQUNDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRixTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUNoSCxHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,42 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { deleteSkill } from './deleteSkill';
5
+ describe('deleteSkill', function () {
6
+ it('deletes the skill', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ mockJsonOk({
11
+ deleted: true
12
+ });
13
+ _context.next = 1;
14
+ return expect(deleteSkill('sk1')).resolves.toEqual({
15
+ deleted: true
16
+ });
17
+ case 1:
18
+ expect(lastFetch()).toMatchObject({
19
+ url: 'https://maia.test/skills/sk1',
20
+ method: 'DELETE'
21
+ });
22
+ case 2:
23
+ case "end":
24
+ return _context.stop();
25
+ }
26
+ }, _callee);
27
+ })));
28
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
29
+ return _regeneratorRuntime.wrap(function (_context2) {
30
+ while (1) switch (_context2.prev = _context2.next) {
31
+ case 0:
32
+ mockJsonError(404);
33
+ _context2.next = 1;
34
+ return expect(deleteSkill('sk1')).rejects.toThrow('Failed fetching data');
35
+ case 1:
36
+ case "end":
37
+ return _context2.stop();
38
+ }
39
+ }, _callee2);
40
+ })));
41
+ });
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImRlbGV0ZVNraWxsIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkZWxldGVkIiwiZXhwZWN0IiwicmVzb2x2ZXMiLCJ0b0VxdWFsIiwidG9NYXRjaE9iamVjdCIsInVybCIsIm1ldGhvZCIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInJlamVjdHMiLCJ0b1Rocm93Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2RlbGV0ZVNraWxsLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbkVycm9yLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBkZWxldGVTa2lsbCB9IGZyb20gJy4vZGVsZXRlU2tpbGwnXG5cbmRlc2NyaWJlKCdkZWxldGVTa2lsbCcsICgpID0+IHtcbiAgaXQoJ2RlbGV0ZXMgdGhlIHNraWxsJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkZWxldGVkOiB0cnVlIH0pXG5cbiAgICBhd2FpdCBleHBlY3QoZGVsZXRlU2tpbGwoJ3NrMScpKS5yZXNvbHZlcy50b0VxdWFsKHsgZGVsZXRlZDogdHJ1ZSB9KVxuICAgIGV4cGVjdChsYXN0RmV0Y2goKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICB1cmw6ICdodHRwczovL21haWEudGVzdC9za2lsbHMvc2sxJyxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgfSlcbiAgfSlcblxuICBpdCgndGhyb3dzIHdoZW4gdGhlIHJlc3BvbnNlIGlzIG5vdCBvaycsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbkVycm9yKDQwNClcblxuICAgIGF3YWl0IGV4cGVjdChkZWxldGVTa2lsbCgnc2sxJykpLnJlamVjdHMudG9UaHJvdygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxRQUFRLHlCQUF5QjtBQUM5RSxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUUzQ0MsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0VBQzVCQyxFQUFFLENBQUMsbUJBQW1CLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUN0QlgsVUFBVSxDQUFDO1lBQUVZLE9BQU8sRUFBRTtVQUFLLENBQUMsQ0FBQztVQUFBSCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUV2QkUsTUFBTSxDQUFDWixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQ2EsUUFBUSxDQUFDQyxPQUFPLENBQUM7WUFBRUgsT0FBTyxFQUFFO1VBQUssQ0FBQyxDQUFDO1FBQUE7VUFDcEVDLE1BQU0sQ0FBQ2YsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDa0IsYUFBYSxDQUFDO1lBQ2hDQyxHQUFHLEVBQUUsOEJBQThCO1lBQ25DQyxNQUFNLEVBQUU7VUFDVixDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQVQsUUFBQSxDQUFBVSxJQUFBO01BQUE7SUFBQSxHQUFBWixPQUFBO0VBQUEsQ0FDSCxHQUFDO0VBRUZKLEVBQUUsQ0FBQyxvQ0FBb0MsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFjLFNBQUE7SUFBQSxPQUFBZixtQkFBQSxDQUFBRyxJQUFBLFdBQUFhLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBWCxJQUFBLEdBQUFXLFNBQUEsQ0FBQVYsSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUFzQixTQUFBLENBQUFWLElBQUE7VUFBQSxPQUVaRSxNQUFNLENBQUNaLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDcUIsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBRixJQUFBO01BQUE7SUFBQSxHQUFBQyxRQUFBO0VBQUEsQ0FDekUsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,48 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { generateSkill } from './generateSkill';
5
+ describe('generateSkill', function () {
6
+ it('posts the user input', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var result;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({
12
+ content: 'Skill generada'
13
+ });
14
+ _context.next = 1;
15
+ return generateSkill('hacé un resumen');
16
+ case 1:
17
+ result = _context.sent;
18
+ expect(lastFetch()).toMatchObject({
19
+ url: 'https://maia.test/skills/generate',
20
+ method: 'POST',
21
+ parsedBody: {
22
+ user_input: 'hacé un resumen'
23
+ }
24
+ });
25
+ expect(result).toEqual({
26
+ content: 'Skill generada'
27
+ });
28
+ case 2:
29
+ case "end":
30
+ return _context.stop();
31
+ }
32
+ }, _callee);
33
+ })));
34
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
35
+ return _regeneratorRuntime.wrap(function (_context2) {
36
+ while (1) switch (_context2.prev = _context2.next) {
37
+ case 0:
38
+ mockJsonError(500);
39
+ _context2.next = 1;
40
+ return expect(generateSkill('x')).rejects.toThrow('Failed fetching data');
41
+ case 1:
42
+ case "end":
43
+ return _context2.stop();
44
+ }
45
+ }, _callee2);
46
+ })));
47
+ });
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdlbmVyYXRlU2tpbGwiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNvbnRlbnQiLCJzZW50IiwiZXhwZWN0IiwidG9NYXRjaE9iamVjdCIsInVybCIsIm1ldGhvZCIsInBhcnNlZEJvZHkiLCJ1c2VyX2lucHV0IiwidG9FcXVhbCIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInJlamVjdHMiLCJ0b1Rocm93Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2dlbmVyYXRlU2tpbGwuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXN0RmV0Y2gsIG1vY2tKc29uRXJyb3IsIG1vY2tKc29uT2sgfSBmcm9tICcuLi8uLi8uLi90ZXN0L21vY2tGZXRjaCdcbmltcG9ydCB7IGdlbmVyYXRlU2tpbGwgfSBmcm9tICcuL2dlbmVyYXRlU2tpbGwnXG5cbmRlc2NyaWJlKCdnZW5lcmF0ZVNraWxsJywgKCkgPT4ge1xuICBpdCgncG9zdHMgdGhlIHVzZXIgaW5wdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7IGNvbnRlbnQ6ICdTa2lsbCBnZW5lcmFkYScgfSlcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdlbmVyYXRlU2tpbGwoJ2hhY8OpIHVuIHJlc3VtZW4nKVxuXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIHVybDogJ2h0dHBzOi8vbWFpYS50ZXN0L3NraWxscy9nZW5lcmF0ZScsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHBhcnNlZEJvZHk6IHsgdXNlcl9pbnB1dDogJ2hhY8OpIHVuIHJlc3VtZW4nIH0sXG4gICAgfSlcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgY29udGVudDogJ1NraWxsIGdlbmVyYWRhJyB9KVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdlbmVyYXRlU2tpbGwoJ3gnKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFFL0NDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtFQUM5QkMsRUFBRSxDQUFDLHNCQUFzQixlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFDLE1BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ3pCWixVQUFVLENBQUM7WUFBRWEsT0FBTyxFQUFFO1VBQWlCLENBQUMsQ0FBQztVQUFBSCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUVwQlgsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQUE7VUFBL0NPLE1BQU0sR0FBQUUsUUFBQSxDQUFBSSxJQUFBO1VBRVpDLE1BQU0sQ0FBQ2pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2tCLGFBQWEsQ0FBQztZQUNoQ0MsR0FBRyxFQUFFLG1DQUFtQztZQUN4Q0MsTUFBTSxFQUFFLE1BQU07WUFDZEMsVUFBVSxFQUFFO2NBQUVDLFVBQVUsRUFBRTtZQUFrQjtVQUM5QyxDQUFDLENBQUM7VUFDRkwsTUFBTSxDQUFDUCxNQUFNLENBQUMsQ0FBQ2EsT0FBTyxDQUFDO1lBQUVSLE9BQU8sRUFBRTtVQUFpQixDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUgsUUFBQSxDQUFBWSxJQUFBO01BQUE7SUFBQSxHQUFBZixPQUFBO0VBQUEsQ0FDdEQsR0FBQztFQUVGSixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBaUIsU0FBQTtJQUFBLE9BQUFsQixtQkFBQSxDQUFBSSxJQUFBLFdBQUFlLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBYixJQUFBLEdBQUFhLFNBQUEsQ0FBQVosSUFBQTtRQUFBO1VBQ3ZDYixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUF5QixTQUFBLENBQUFaLElBQUE7VUFBQSxPQUVaRyxNQUFNLENBQUNkLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDd0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBRixJQUFBO01BQUE7SUFBQSxHQUFBQyxRQUFBO0VBQUEsQ0FDekUsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==