@redocly/openapi-docs 3.24.1 → 3.24.2

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 (260) hide show
  1. package/lib/telemetry/RedocTelemetry.js +1 -31
  2. package/package.json +4 -4
  3. package/lib/components/ApiInfo/__tests__/ApiInfo.test.d.ts +0 -1
  4. package/lib/components/ApiInfo/__tests__/ApiInfo.test.js +0 -46
  5. package/lib/components/Callbacks/__tests__/Callbacks.test.d.ts +0 -1
  6. package/lib/components/Callbacks/__tests__/Callbacks.test.js +0 -46
  7. package/lib/components/Content/__tests__/useAutoScroll.test.d.ts +0 -1
  8. package/lib/components/Content/__tests__/useAutoScroll.test.js +0 -88
  9. package/lib/components/ContentItem/__tests__/useIsExpanded.test.d.ts +0 -1
  10. package/lib/components/ContentItem/__tests__/useIsExpanded.test.js +0 -123
  11. package/lib/components/ContentItems/__tests__/Items.test.d.ts +0 -1
  12. package/lib/components/ContentItems/__tests__/Items.test.js +0 -66
  13. package/lib/components/ContentItems/__tests__/VirtualList.test.d.ts +0 -1
  14. package/lib/components/ContentItems/__tests__/VirtualList.test.js +0 -135
  15. package/lib/components/Discriminator/__tests__/DiscriminatorDropdown.test.d.ts +0 -1
  16. package/lib/components/Discriminator/__tests__/DiscriminatorDropdown.test.js +0 -63
  17. package/lib/components/Download/__tests__/DownloadSpecification.test.d.ts +0 -1
  18. package/lib/components/Download/__tests__/DownloadSpecification.test.js +0 -52
  19. package/lib/components/ExpandAllButton/__tests__/ExpandAllButton.test.d.ts +0 -1
  20. package/lib/components/ExpandAllButton/__tests__/ExpandAllButton.test.js +0 -60
  21. package/lib/components/ExpandAllButton/__tests__/helpers.test.d.ts +0 -1
  22. package/lib/components/ExpandAllButton/__tests__/helpers.test.js +0 -133
  23. package/lib/components/Language/__tests__/LanguageDropdown.test.d.ts +0 -1
  24. package/lib/components/Language/__tests__/LanguageDropdown.test.js +0 -23
  25. package/lib/components/Markdown/__tests__/Markdown.test.d.ts +0 -1
  26. package/lib/components/Markdown/__tests__/Markdown.test.js +0 -34
  27. package/lib/components/McpOverview/__tests__/McpOverview.test.d.ts +0 -1
  28. package/lib/components/McpOverview/__tests__/McpOverview.test.js +0 -66
  29. package/lib/components/McpTool/__tests__/McpPrompt.test.d.ts +0 -1
  30. package/lib/components/McpTool/__tests__/McpPrompt.test.js +0 -57
  31. package/lib/components/McpTool/__tests__/McpResource.test.d.ts +0 -1
  32. package/lib/components/McpTool/__tests__/McpResource.test.js +0 -81
  33. package/lib/components/McpTool/__tests__/McpTool.test.d.ts +0 -1
  34. package/lib/components/McpTool/__tests__/McpTool.test.js +0 -82
  35. package/lib/components/MediaTypeSwitch/__tests__/MediaTypesSwitch.test.d.ts +0 -1
  36. package/lib/components/MediaTypeSwitch/__tests__/MediaTypesSwitch.test.js +0 -79
  37. package/lib/components/OperationItem/__tests__/OperationItem.test.d.ts +0 -1
  38. package/lib/components/OperationItem/__tests__/OperationItem.test.js +0 -70
  39. package/lib/components/OperationItem/__tests__/__mocks__/mock-intersection-observer.d.ts +0 -16
  40. package/lib/components/OperationItem/__tests__/__mocks__/mock-intersection-observer.js +0 -42
  41. package/lib/components/Overview/__tests__/Overview.test.d.ts +0 -1
  42. package/lib/components/Overview/__tests__/Overview.test.js +0 -59
  43. package/lib/components/PayloadSamples/__tests__/Example.test.d.ts +0 -1
  44. package/lib/components/PayloadSamples/__tests__/Example.test.js +0 -36
  45. package/lib/components/PayloadSamples/__tests__/ExampleValue.test.d.ts +0 -1
  46. package/lib/components/PayloadSamples/__tests__/ExampleValue.test.js +0 -197
  47. package/lib/components/PayloadSamples/__tests__/PayloadSamples.test.d.ts +0 -1
  48. package/lib/components/PayloadSamples/__tests__/PayloadSamples.test.js +0 -38
  49. package/lib/components/PropertyDetails/__tests__/Extensions.test.d.ts +0 -1
  50. package/lib/components/PropertyDetails/__tests__/Extensions.test.js +0 -21
  51. package/lib/components/PropertyDetails/__tests__/FieldDetail.test.d.ts +0 -1
  52. package/lib/components/PropertyDetails/__tests__/FieldDetail.test.js +0 -52
  53. package/lib/components/PropertyDetails/__tests__/FieldDetails.test.d.ts +0 -1
  54. package/lib/components/PropertyDetails/__tests__/FieldDetails.test.js +0 -191
  55. package/lib/components/PropertyDetails/__tests__/PropertyDetails.test.d.ts +0 -1
  56. package/lib/components/PropertyDetails/__tests__/PropertyDetails.test.js +0 -365
  57. package/lib/components/PropertyDetails/__tests__/cycleColorsByLevel.test.d.ts +0 -1
  58. package/lib/components/PropertyDetails/__tests__/cycleColorsByLevel.test.js +0 -23
  59. package/lib/components/RedoclyOpenAPIDocs/__tests__/AppProvider.test.d.ts +0 -1
  60. package/lib/components/RedoclyOpenAPIDocs/__tests__/AppProvider.test.js +0 -16
  61. package/lib/components/RedoclyOpenAPIDocs/__tests__/RedoclyOpenAPIDocs.test.d.ts +0 -1
  62. package/lib/components/RedoclyOpenAPIDocs/__tests__/RedoclyOpenAPIDocs.test.js +0 -104
  63. package/lib/components/RenderHook/__tests__/RenderHook.test.d.ts +0 -1
  64. package/lib/components/RenderHook/__tests__/RenderHook.test.js +0 -15
  65. package/lib/components/Replay/__tests__/utils.test.d.ts +0 -1
  66. package/lib/components/Replay/__tests__/utils.test.js +0 -526
  67. package/lib/components/Request/__tests__/RequestDetails.test.d.ts +0 -1
  68. package/lib/components/Request/__tests__/RequestDetails.test.js +0 -98
  69. package/lib/components/RequestSamples/__tests__/Example.test.d.ts +0 -1
  70. package/lib/components/RequestSamples/__tests__/Example.test.js +0 -384
  71. package/lib/components/RequestSamples/__tests__/RequestSamples.test.d.ts +0 -1
  72. package/lib/components/RequestSamples/__tests__/RequestSamples.test.js +0 -226
  73. package/lib/components/RequestSamples/__tests__/useCodeSamples.test.d.ts +0 -1
  74. package/lib/components/RequestSamples/__tests__/useCodeSamples.test.js +0 -64
  75. package/lib/components/ResponseSamples/__tests__/ResponseSamples.test.d.ts +0 -1
  76. package/lib/components/ResponseSamples/__tests__/ResponseSamples.test.js +0 -29
  77. package/lib/components/Responses/__tests__/OperationResponseList.test.d.ts +0 -1
  78. package/lib/components/Responses/__tests__/OperationResponseList.test.js +0 -89
  79. package/lib/components/Responses/__tests__/ResponseDetails.test.d.ts +0 -1
  80. package/lib/components/Responses/__tests__/ResponseDetails.test.js +0 -111
  81. package/lib/components/Responses/__tests__/ResponsesHeaders.test.d.ts +0 -1
  82. package/lib/components/Responses/__tests__/ResponsesHeaders.test.js +0 -26
  83. package/lib/components/Schema/__tests__/ArraySchema.test.d.ts +0 -1
  84. package/lib/components/Schema/__tests__/ArraySchema.test.js +0 -93
  85. package/lib/components/Schema/__tests__/ObjectSchema.test.d.ts +0 -1
  86. package/lib/components/Schema/__tests__/ObjectSchema.test.js +0 -115
  87. package/lib/components/Schema/__tests__/OneOfSchema.test.d.ts +0 -1
  88. package/lib/components/Schema/__tests__/OneOfSchema.test.js +0 -33
  89. package/lib/components/Schema/__tests__/Schema.test.d.ts +0 -1
  90. package/lib/components/Schema/__tests__/Schema.test.js +0 -67
  91. package/lib/components/Schema/__tests__/useOneOfLocationIdx.test.d.ts +0 -1
  92. package/lib/components/Schema/__tests__/useOneOfLocationIdx.test.js +0 -22
  93. package/lib/components/SchemaCatalogLink/__tests__/SchemaCatalogLink.test.d.ts +0 -1
  94. package/lib/components/SchemaCatalogLink/__tests__/SchemaCatalogLink.test.js +0 -95
  95. package/lib/components/Security/__tests__/Security.test.d.ts +0 -1
  96. package/lib/components/Security/__tests__/Security.test.js +0 -38
  97. package/lib/components/Security/__tests__/SecurityButton.test.d.ts +0 -1
  98. package/lib/components/Security/__tests__/SecurityButton.test.js +0 -92
  99. package/lib/components/Security/__tests__/SecurityModal.test.d.ts +0 -1
  100. package/lib/components/Security/__tests__/SecurityModal.test.js +0 -172
  101. package/lib/components/ServerList/__tests__/ServerList.test.d.ts +0 -1
  102. package/lib/components/ServerList/__tests__/ServerList.test.js +0 -83
  103. package/lib/components/Tabs/__tests__/Tabs.test.d.ts +0 -1
  104. package/lib/components/Tabs/__tests__/Tabs.test.js +0 -27
  105. package/lib/components/ViewNested/__tests__/ViewNested.test.d.ts +0 -1
  106. package/lib/components/ViewNested/__tests__/ViewNested.test.js +0 -42
  107. package/lib/components/__tests__/Samples/ExampleSwitch.test.d.ts +0 -1
  108. package/lib/components/__tests__/Samples/ExampleSwitch.test.js +0 -45
  109. package/lib/components/__tests__/Samples/use-example-key.test.d.ts +0 -1
  110. package/lib/components/__tests__/Samples/use-example-key.test.js +0 -28
  111. package/lib/components/__tests__/common/ClearButton.test.d.ts +0 -1
  112. package/lib/components/__tests__/common/ClearButton.test.js +0 -18
  113. package/lib/components/__tests__/common/Dropdown.test.d.ts +0 -1
  114. package/lib/components/__tests__/common/Dropdown.test.js +0 -52
  115. package/lib/components/__tests__/mocks/examples.d.ts +0 -4
  116. package/lib/components/__tests__/mocks/examples.js +0 -115
  117. package/lib/components/common/__tests__/Dropdown.test.d.ts +0 -1
  118. package/lib/components/common/__tests__/Dropdown.test.js +0 -129
  119. package/lib/components/common/__tests__/LinkToField.test.d.ts +0 -1
  120. package/lib/components/common/__tests__/LinkToField.test.js +0 -39
  121. package/lib/jotai/__tests__/app.test.d.ts +0 -1
  122. package/lib/jotai/__tests__/app.test.js +0 -53
  123. package/lib/models/__tests__/Callback.test.d.ts +0 -1
  124. package/lib/models/__tests__/Callback.test.js +0 -15
  125. package/lib/models/__tests__/FieldModel.test.d.ts +0 -1
  126. package/lib/models/__tests__/FieldModel.test.js +0 -117
  127. package/lib/models/__tests__/MediaContent.test.d.ts +0 -1
  128. package/lib/models/__tests__/MediaContent.test.js +0 -105
  129. package/lib/models/__tests__/Operation.test.d.ts +0 -1
  130. package/lib/models/__tests__/Operation.test.js +0 -459
  131. package/lib/models/__tests__/Response.test.d.ts +0 -1
  132. package/lib/models/__tests__/Response.test.js +0 -221
  133. package/lib/models/__tests__/Schema.circular.test.d.ts +0 -1
  134. package/lib/models/__tests__/Schema.circular.test.js +0 -694
  135. package/lib/models/__tests__/Schema.test.d.ts +0 -1
  136. package/lib/models/__tests__/Schema.test.js +0 -1395
  137. package/lib/models/__tests__/example.test.d.ts +0 -1
  138. package/lib/models/__tests__/example.test.js +0 -90
  139. package/lib/models/__tests__/group.test.d.ts +0 -1
  140. package/lib/models/__tests__/group.test.js +0 -52
  141. package/lib/models/__tests__/helpers.d.ts +0 -5
  142. package/lib/models/__tests__/helpers.js +0 -62
  143. package/lib/models/__tests__/request.test.d.ts +0 -1
  144. package/lib/models/__tests__/request.test.js +0 -119
  145. package/lib/services/__tests__/OpenAPIParser.test.d.ts +0 -1
  146. package/lib/services/__tests__/OpenAPIParser.test.js +0 -80
  147. package/lib/services/__tests__/check.test.d.ts +0 -1
  148. package/lib/services/__tests__/check.test.js +0 -22
  149. package/lib/services/__tests__/utils.test.d.ts +0 -1
  150. package/lib/services/__tests__/utils.test.js +0 -42
  151. package/lib/services/code-samples/__tests__/apply-environments.test.d.ts +0 -1
  152. package/lib/services/code-samples/__tests__/apply-environments.test.js +0 -64
  153. package/lib/services/code-samples/__tests__/build-code-samples.test.d.ts +0 -1
  154. package/lib/services/code-samples/__tests__/build-code-samples.test.js +0 -70
  155. package/lib/services/code-samples/__tests__/convertSampleToString.test.d.ts +0 -1
  156. package/lib/services/code-samples/__tests__/convertSampleToString.test.js +0 -116
  157. package/lib/services/code-samples/__tests__/generator-data-value.test.d.ts +0 -1
  158. package/lib/services/code-samples/__tests__/generator-data-value.test.js +0 -277
  159. package/lib/services/code-samples/__tests__/generator-serialized-value.test.d.ts +0 -1
  160. package/lib/services/code-samples/__tests__/generator-serialized-value.test.js +0 -258
  161. package/lib/services/code-samples/__tests__/generator-value.test.d.ts +0 -1
  162. package/lib/services/code-samples/__tests__/generator-value.test.js +0 -273
  163. package/lib/services/code-samples/__tests__/generator.test.d.ts +0 -249
  164. package/lib/services/code-samples/__tests__/generator.test.js +0 -1201
  165. package/lib/services/code-samples/__tests__/get-example-value-by-mime-type.test.d.ts +0 -1
  166. package/lib/services/code-samples/__tests__/get-example-value-by-mime-type.test.js +0 -31
  167. package/lib/services/code-samples/httpsnippet/__tests__/device-authorization.test.d.ts +0 -1
  168. package/lib/services/code-samples/httpsnippet/__tests__/device-authorization.test.js +0 -222
  169. package/lib/services/code-samples/httpsnippet/helpers/__tests__/code-helpers.test.d.ts +0 -1
  170. package/lib/services/code-samples/httpsnippet/helpers/__tests__/code-helpers.test.js +0 -129
  171. package/lib/services/code-samples/httpsnippet/helpers/__tests__/string-utility.test.d.ts +0 -1
  172. package/lib/services/code-samples/httpsnippet/helpers/__tests__/string-utility.test.js +0 -49
  173. package/lib/services/code-samples/httpsnippet/targets/csharp/__tests__/httpclient.test.d.ts +0 -1
  174. package/lib/services/code-samples/httpsnippet/targets/csharp/__tests__/httpclient.test.js +0 -172
  175. package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/__tests__/httpclient.test.d.ts +0 -1
  176. package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/__tests__/httpclient.test.js +0 -172
  177. package/lib/services/code-samples/httpsnippet/targets/go/__tests__/native.test.d.ts +0 -1
  178. package/lib/services/code-samples/httpsnippet/targets/go/__tests__/native.test.js +0 -130
  179. package/lib/services/code-samples/httpsnippet/targets/java/__tests__/httpclient.test.d.ts +0 -1
  180. package/lib/services/code-samples/httpsnippet/targets/java/__tests__/httpclient.test.js +0 -191
  181. package/lib/services/code-samples/httpsnippet/targets/java8/__tests__/apachehttp.test.d.ts +0 -1
  182. package/lib/services/code-samples/httpsnippet/targets/java8/__tests__/apachehttp.test.js +0 -172
  183. package/lib/services/code-samples/httpsnippet/targets/javascript/__tests__/fetch.test.d.ts +0 -1
  184. package/lib/services/code-samples/httpsnippet/targets/javascript/__tests__/fetch.test.js +0 -85
  185. package/lib/services/code-samples/httpsnippet/targets/node/__tests__/fetch.test.d.ts +0 -1
  186. package/lib/services/code-samples/httpsnippet/targets/node/__tests__/fetch.test.js +0 -85
  187. package/lib/services/code-samples/httpsnippet/targets/php/__tests__/curl.test.d.ts +0 -1
  188. package/lib/services/code-samples/httpsnippet/targets/php/__tests__/curl.test.js +0 -126
  189. package/lib/services/code-samples/httpsnippet/targets/python/__tests__/requests.test.d.ts +0 -1
  190. package/lib/services/code-samples/httpsnippet/targets/python/__tests__/requests.test.js +0 -105
  191. package/lib/services/code-samples/httpsnippet/targets/r/__tests__/httr.test.d.ts +0 -1
  192. package/lib/services/code-samples/httpsnippet/targets/r/__tests__/httr.test.js +0 -126
  193. package/lib/services/code-samples/httpsnippet/targets/ruby/__tests__/native.test.d.ts +0 -1
  194. package/lib/services/code-samples/httpsnippet/targets/ruby/__tests__/native.test.js +0 -129
  195. package/lib/services/code-samples/httpsnippet/targets/shell/__tests__/curl.test.d.ts +0 -1
  196. package/lib/services/code-samples/httpsnippet/targets/shell/__tests__/curl.test.js +0 -129
  197. package/lib/services/config-options/__tests__/helpers.test.d.ts +0 -1
  198. package/lib/services/config-options/__tests__/helpers.test.js +0 -234
  199. package/lib/services/history/__tests__/helpers.test.d.ts +0 -1
  200. package/lib/services/history/__tests__/helpers.test.js +0 -19
  201. package/lib/services/menu/__tests__/buildNestedTagsItems.test.d.ts +0 -1
  202. package/lib/services/menu/__tests__/buildNestedTagsItems.test.js +0 -109
  203. package/lib/services/menu/__tests__/builder.test.d.ts +0 -1
  204. package/lib/services/menu/__tests__/builder.test.js +0 -307
  205. package/lib/services/menu/__tests__/operation.test.d.ts +0 -1
  206. package/lib/services/menu/__tests__/operation.test.js +0 -240
  207. package/lib/services/menu/__tests__/tags.test.d.ts +0 -1
  208. package/lib/services/menu/__tests__/tags.test.js +0 -71
  209. package/lib/telemetry/__tests__/RedocTelemetry.test.d.ts +0 -1
  210. package/lib/telemetry/__tests__/RedocTelemetry.test.js +0 -107
  211. package/lib/testProviders.d.ts +0 -6
  212. package/lib/testProviders.js +0 -14
  213. package/lib/utils/__tests__/areArraysEqual.test.d.ts +0 -1
  214. package/lib/utils/__tests__/areArraysEqual.test.js +0 -33
  215. package/lib/utils/__tests__/argValuesHelpers.d.ts +0 -1
  216. package/lib/utils/__tests__/argValuesHelpers.js +0 -56
  217. package/lib/utils/__tests__/calculateMaxLength.test.d.ts +0 -1
  218. package/lib/utils/__tests__/calculateMaxLength.test.js +0 -119
  219. package/lib/utils/__tests__/configure-helpers.test.d.ts +0 -1
  220. package/lib/utils/__tests__/configure-helpers.test.js +0 -356
  221. package/lib/utils/__tests__/convertSwagger2OpenAPI.test.d.ts +0 -1
  222. package/lib/utils/__tests__/convertSwagger2OpenAPI.test.js +0 -392
  223. package/lib/utils/__tests__/debounce.test.d.ts +0 -1
  224. package/lib/utils/__tests__/debounce.test.js +0 -54
  225. package/lib/utils/__tests__/debug.test.d.ts +0 -1
  226. package/lib/utils/__tests__/debug.test.js +0 -23
  227. package/lib/utils/__tests__/dom.test.d.ts +0 -1
  228. package/lib/utils/__tests__/dom.test.js +0 -108
  229. package/lib/utils/__tests__/getBreadcrumbs.test.d.ts +0 -1
  230. package/lib/utils/__tests__/getBreadcrumbs.test.js +0 -98
  231. package/lib/utils/__tests__/hasNestedFields.test.d.ts +0 -1
  232. package/lib/utils/__tests__/hasNestedFields.test.js +0 -147
  233. package/lib/utils/__tests__/helpers.test.d.ts +0 -1
  234. package/lib/utils/__tests__/helpers.test.js +0 -174
  235. package/lib/utils/__tests__/isMobile.test.d.ts +0 -1
  236. package/lib/utils/__tests__/isMobile.test.js +0 -28
  237. package/lib/utils/__tests__/loadAndBundleSpec.test.d.ts +0 -1
  238. package/lib/utils/__tests__/loadAndBundleSpec.test.js +0 -22
  239. package/lib/utils/__tests__/local-storage.test.d.ts +0 -1
  240. package/lib/utils/__tests__/local-storage.test.js +0 -48
  241. package/lib/utils/__tests__/object.test.d.ts +0 -1
  242. package/lib/utils/__tests__/object.test.js +0 -45
  243. package/lib/utils/__tests__/openapi.test.d.ts +0 -1
  244. package/lib/utils/__tests__/openapi.test.js +0 -1378
  245. package/lib/utils/__tests__/path.test.d.ts +0 -1
  246. package/lib/utils/__tests__/path.test.js +0 -16
  247. package/lib/utils/__tests__/queryString.test.d.ts +0 -1
  248. package/lib/utils/__tests__/queryString.test.js +0 -60
  249. package/lib/utils/__tests__/replaceVariables.test.d.ts +0 -1
  250. package/lib/utils/__tests__/replaceVariables.test.js +0 -46
  251. package/lib/utils/__tests__/simplifyAstStructure.test.d.ts +0 -1
  252. package/lib/utils/__tests__/simplifyAstStructure.test.js +0 -26
  253. package/lib/utils/__tests__/sort.test.d.ts +0 -1
  254. package/lib/utils/__tests__/sort.test.js +0 -16
  255. package/lib/utils/__tests__/string.test.d.ts +0 -1
  256. package/lib/utils/__tests__/string.test.js +0 -16
  257. package/lib/utils/__tests__/theme-helpers.test.d.ts +0 -1
  258. package/lib/utils/__tests__/theme-helpers.test.js +0 -24
  259. package/lib/utils/__tests__/url.test.d.ts +0 -1
  260. package/lib/utils/__tests__/url.test.js +0 -134
@@ -1,71 +0,0 @@
1
- import { processOperation } from '../tags.js';
2
- describe('processOperation', () => {
3
- let parser;
4
- let tagsMap;
5
- beforeEach(() => {
6
- parser = {
7
- definition: {},
8
- deref: vi.fn().mockReturnValue({ resolved: {} }),
9
- };
10
- tagsMap = {};
11
- });
12
- it('adds operation to existing tag', () => {
13
- const operationInfo = { summary: 'Test op', tags: ['tag1'] };
14
- tagsMap['tag1'] = { name: 'tag1', operations: [] };
15
- processOperation(parser, 'get', operationInfo, '/path', {}, tagsMap);
16
- expect(tagsMap['tag1'].operations).toHaveLength(1);
17
- expect(tagsMap['tag1'].operations[0].summary).toBe('Test op');
18
- });
19
- it('creates tag if it does not exist', () => {
20
- const operationInfo = { summary: 'New op', tags: ['newTag'] };
21
- processOperation(parser, 'post', operationInfo, '/path', {}, tagsMap);
22
- expect(tagsMap['newTag']).toBeDefined();
23
- expect(tagsMap['newTag'].operations[0].summary).toBe('New op');
24
- });
25
- it('assigns empty tag if operation has no tags', () => {
26
- const operationInfo = { summary: 'No tag op' };
27
- processOperation(parser, 'put', operationInfo, '/path', {}, tagsMap);
28
- expect(tagsMap['']).toBeDefined();
29
- expect(tagsMap[''].operations[0].httpVerb).toBe('put');
30
- });
31
- it('assigns default webhook tag if isWebhook is true and no tags', () => {
32
- const operationInfo = { summary: 'Webhook op' };
33
- processOperation(parser, 'post', operationInfo, '/webhook', {}, tagsMap, true);
34
- expect(tagsMap['webhooks']).toBeDefined();
35
- expect(tagsMap['webhooks'].operations[0].isWebhook).toBe(true);
36
- });
37
- it('skips operations with x-traitTag', () => {
38
- const operationInfo = { summary: 'Trait op', tags: ['traitTag'] };
39
- tagsMap['traitTag'] = { name: 'traitTag', operations: [], 'x-traitTag': true };
40
- processOperation(parser, 'get', operationInfo, '/path', {}, tagsMap);
41
- expect(tagsMap['traitTag'].operations).toHaveLength(0);
42
- });
43
- it('processes additionalOperations correctly', () => {
44
- const path = {
45
- additionalOperations: {
46
- test: { summary: 'Additional op', tags: ['tag2'] },
47
- },
48
- };
49
- tagsMap['tag2'] = { name: 'tag2', operations: [] };
50
- processOperation(parser, 'test', path.additionalOperations.test, '/path', path, tagsMap, false, true);
51
- expect(tagsMap['tag2'].operations).toHaveLength(1);
52
- expect(tagsMap['tag2'].operations[0].isAdditionalOperation).toBe(true);
53
- });
54
- it('assigns query tag if operation is x-query', () => {
55
- const operationInfo = { summary: 'Query op', tags: ['query'] };
56
- const path = { 'x-query': operationInfo };
57
- tagsMap['query'] = { name: 'query', operations: [] };
58
- processOperation(parser, 'x-query', operationInfo, '/path', path, tagsMap);
59
- expect(tagsMap['query'].operations).toHaveLength(1);
60
- expect(tagsMap['query'].operations[0].httpVerb).toBe('query');
61
- });
62
- it('keeps httpVerb as query if operation name is query (OpenAPI 3.2.0)', () => {
63
- const operationInfo = { summary: 'Query op', tags: ['query'] };
64
- const path = { query: operationInfo };
65
- tagsMap['query'] = { name: 'query', operations: [] };
66
- processOperation(parser, 'query', operationInfo, '/path', path, tagsMap);
67
- expect(tagsMap['query'].operations).toHaveLength(1);
68
- expect(tagsMap['query'].operations[0].httpVerb).toBe('query');
69
- });
70
- });
71
- //# sourceMappingURL=tags.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,107 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- const initMock = vi.fn();
3
- const sendMock = vi.fn();
4
- vi.mock('@redocly/redoc-opentelemetry', () => ({
5
- Telemetry: class Telemetry {
6
- init(config) {
7
- initMock(config);
8
- }
9
- send(event, data) {
10
- sendMock(event, data);
11
- }
12
- },
13
- }));
14
- import { RedocTelemetry } from '../RedocTelemetry.js';
15
- describe('RedocTelemetry', () => {
16
- beforeEach(() => {
17
- vi.clearAllMocks();
18
- });
19
- describe('constructor', () => {
20
- it('calls init with default collector URL and service name when not provided', () => {
21
- new RedocTelemetry({
22
- specType: 'openapi',
23
- serviceVersion: '1.0.0',
24
- });
25
- expect(initMock).toHaveBeenCalledTimes(1);
26
- expect(initMock).toHaveBeenCalledWith(expect.objectContaining({
27
- otel: expect.objectContaining({
28
- collectorTraceUrl: 'https://otel.cloud.redocly.com/v1/traces',
29
- serviceName: 'redoc-ce',
30
- serviceVersion: '1.0.0',
31
- }),
32
- }));
33
- });
34
- it('calls init with custom collectorUrl and serviceName when provided', () => {
35
- new RedocTelemetry({
36
- specType: 'asyncapi',
37
- serviceVersion: '2.0.0',
38
- collectorUrl: 'https://custom.example.com/v1/traces',
39
- serviceName: 'custom-service',
40
- });
41
- expect(initMock).toHaveBeenCalledWith(expect.objectContaining({
42
- otel: expect.objectContaining({
43
- collectorTraceUrl: 'https://custom.example.com/v1/traces',
44
- serviceName: 'custom-service',
45
- serviceVersion: '2.0.0',
46
- }),
47
- }));
48
- });
49
- it('calls init with disabled when config.disabled is true', () => {
50
- new RedocTelemetry({
51
- specType: 'graphql',
52
- serviceVersion: '1.0.0',
53
- disabled: true,
54
- });
55
- expect(initMock).toHaveBeenCalledWith(expect.objectContaining({
56
- disabled: true,
57
- }));
58
- });
59
- });
60
- describe('send', () => {
61
- it('calls super.send with event and undefined when data is omitted', () => {
62
- const telemetry = new RedocTelemetry({
63
- specType: 'openapi',
64
- serviceVersion: '1.0.0',
65
- });
66
- telemetry.send('Viewed');
67
- expect(sendMock).toHaveBeenCalledTimes(1);
68
- expect(sendMock).toHaveBeenCalledWith('Viewed', undefined);
69
- });
70
- it('calls super.send with event and data when data is not an array', () => {
71
- const telemetry = new RedocTelemetry({
72
- specType: 'openapi',
73
- serviceVersion: '1.0.0',
74
- });
75
- const data = { foo: 'bar' };
76
- telemetry.send('Viewed', data);
77
- expect(sendMock).toHaveBeenCalledWith('Viewed', data);
78
- });
79
- it('enriches each object in array data with specType and calls super.send', () => {
80
- const telemetry = new RedocTelemetry({
81
- specType: 'asyncapi',
82
- serviceVersion: '1.0.0',
83
- });
84
- const data = [{ id: 'a' }, { id: 'b' }];
85
- telemetry.send('Viewed', data);
86
- expect(sendMock).toHaveBeenCalledWith('Viewed', [
87
- { id: 'a', specType: 'asyncapi' },
88
- { id: 'b', specType: 'asyncapi' },
89
- ]);
90
- });
91
- it('passes through non-object array items unchanged', () => {
92
- const telemetry = new RedocTelemetry({
93
- specType: 'openapi',
94
- serviceVersion: '1.0.0',
95
- });
96
- const data = [{ id: 'a' }, null, 'string', 42];
97
- telemetry.send('Viewed', data);
98
- expect(sendMock).toHaveBeenCalledWith('Viewed', [
99
- { id: 'a', specType: 'openapi' },
100
- null,
101
- 'string',
102
- 42,
103
- ]);
104
- });
105
- });
106
- });
107
- //# sourceMappingURL=RedocTelemetry.test.js.map
@@ -1,6 +0,0 @@
1
- import type { ReactNode, ReactElement } from 'react';
2
- import type { StoreProviderProps } from './components';
3
- import type { BrowserRouterProps, MemoryRouterProps } from 'react-router';
4
- export declare function TestBrowserRouter({ children, ...props }: BrowserRouterProps): ReactElement;
5
- export declare function TestMemoryRouter({ children, ...props }: MemoryRouterProps): ReactElement;
6
- export declare function withTestProviders(children: ReactNode, store?: StoreProviderProps): ReactElement;
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Children } from 'react';
3
- import { BrowserRouter, MemoryRouter } from 'react-router';
4
- import { StoreProvider } from './components';
5
- export function TestBrowserRouter({ children, ...props }) {
6
- return _jsx(BrowserRouter, { ...props, children: children });
7
- }
8
- export function TestMemoryRouter({ children, ...props }) {
9
- return _jsx(MemoryRouter, { ...props, children: children });
10
- }
11
- export function withTestProviders(children, store) {
12
- return (_jsx(StoreProvider, { ...(store || { definition: { openapi: '3.0.0' } }), children: Children.only(children) }));
13
- }
14
- //# sourceMappingURL=testProviders.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,33 +0,0 @@
1
- import { areArraysEqual } from '../areArraysEqual.js';
2
- describe('areArraysEqual', () => {
3
- it('should return true for two empty arrays', () => {
4
- expect(areArraysEqual([], [])).toBe(true);
5
- });
6
- it('should return true for two identical arrays of primitives', () => {
7
- expect(areArraysEqual([1, 2, 3], [1, 2, 3])).toBe(true);
8
- });
9
- it('should return false for arrays of different lengths', () => {
10
- expect(areArraysEqual([1, 2, 3], [1, 2])).toBe(false);
11
- });
12
- it('should return false for arrays with the same length but different values', () => {
13
- expect(areArraysEqual([1, 2, 3], [1, 2, 4])).toBe(false);
14
- });
15
- it('should return true for two identical arrays of strings', () => {
16
- expect(areArraysEqual(['a', 'b', 'c'], ['a', 'b', 'c'])).toBe(true);
17
- });
18
- it('should return false for arrays with different types', () => {
19
- expect(areArraysEqual([1, '2', 3], [1, 2, 3])).toBe(false);
20
- });
21
- it('should handle arrays with undefined and null values correctly', () => {
22
- expect(areArraysEqual([undefined, null], [undefined, null])).toBe(true);
23
- expect(areArraysEqual([undefined, null], [null, undefined])).toBe(false);
24
- });
25
- it('should handle arrays with objects and arrays by reference equality', () => {
26
- const obj1 = { a: 1 };
27
- const obj2 = { a: 1 };
28
- expect(areArraysEqual([obj1], [obj1])).toBe(true);
29
- expect(areArraysEqual([obj1], [obj2])).toBe(false);
30
- expect(areArraysEqual([[1, 2]], [[1, 2]])).toBe(false);
31
- });
32
- });
33
- //# sourceMappingURL=areArraysEqual.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,56 +0,0 @@
1
- import { argValueToBoolean, argValueToExpandLevel, argValueToInt, argValueToNumber, } from '../argValuesHelpers';
2
- describe('argValuesHelpers tests', () => {
3
- describe('argValueToBoolean function test', () => {
4
- it('should return true when passing boolean value', () => {
5
- const result = argValueToBoolean(true);
6
- expect(result).toBe(true);
7
- });
8
- it('should return false value when nothing passing', () => {
9
- const result = argValueToBoolean();
10
- expect(result).toBe(false);
11
- });
12
- it('should return true whe passing some string', () => {
13
- const result = argValueToBoolean('test');
14
- expect(result).toBe(true);
15
- });
16
- it('should return false whe passing some `false` string', () => {
17
- const result = argValueToBoolean('false');
18
- expect(result).toBe(false);
19
- });
20
- });
21
- describe('argValueToExpandLevel function test', () => {
22
- it('should return Infinity when passing `all`', () => {
23
- const result = argValueToExpandLevel('all');
24
- expect(result).toBe(Infinity);
25
- });
26
- it('should return undefined when call without arguments', () => {
27
- const result = argValueToExpandLevel();
28
- expect(result).toBe(undefined);
29
- });
30
- });
31
- describe('argValueToInt function test', () => {
32
- it('should convert string number to number', () => {
33
- const result = argValueToInt('22');
34
- expect(result).toBe(22);
35
- });
36
- it('should Math.ceil number', () => {
37
- const result = argValueToInt(22.4);
38
- expect(result).toBe(23);
39
- });
40
- });
41
- describe('argValueToNumber function test', () => {
42
- it('should return exact number', () => {
43
- const result = argValueToNumber(22);
44
- expect(result).toBe(22);
45
- });
46
- it('should parse string to number', () => {
47
- const result = argValueToNumber('22');
48
- expect(result).toBe(22);
49
- });
50
- it('should return default value', () => {
51
- expect(argValueToNumber(undefined)).toBe(0);
52
- expect(argValueToNumber(undefined, 2)).toBe(2);
53
- });
54
- });
55
- });
56
- //# sourceMappingURL=argValuesHelpers.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,119 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { calculateMaxLength } from '../calculateMaxLength.js';
3
- describe('calculateMaxLength', () => {
4
- let measureEl;
5
- beforeEach(() => {
6
- measureEl = {
7
- textContent: '',
8
- scrollWidth: 0,
9
- };
10
- });
11
- it('should return BREADCRUMB_MIN_LENGTH (10) when breadcrumbs array is empty', () => {
12
- const result = calculateMaxLength([], 500, false, measureEl);
13
- expect(result).toBe(10);
14
- });
15
- it('should return BREADCRUMB_MIN_LENGTH when availableWidth is zero or negative', () => {
16
- const breadcrumbs = [
17
- { name: 'Home', href: '/' },
18
- { name: 'Products', href: '/products' },
19
- ];
20
- expect(calculateMaxLength(breadcrumbs, 0, false, measureEl)).toBe(10);
21
- expect(calculateMaxLength(breadcrumbs, -100, false, measureEl)).toBe(10);
22
- });
23
- it('should account for DROPDOWN_TRIGGER_WIDTH (40) when collapsed', () => {
24
- const breadcrumbs = [
25
- { name: 'Short', href: '/' },
26
- { name: 'Name', href: '/name' },
27
- ];
28
- let callCount = 0;
29
- Object.defineProperty(measureEl, 'scrollWidth', {
30
- get() {
31
- callCount++;
32
- if (callCount === 1)
33
- return 5;
34
- return this.textContent.length * 8;
35
- },
36
- configurable: true,
37
- });
38
- const collapsedResult = calculateMaxLength(breadcrumbs, 200, true, measureEl);
39
- callCount = 0;
40
- const expandedResult = calculateMaxLength(breadcrumbs, 200, false, measureEl);
41
- expect(collapsedResult).toBeLessThanOrEqual(expandedResult);
42
- });
43
- it('should return max name length when breadcrumbs fit comfortably', () => {
44
- const breadcrumbs = [
45
- { name: 'Home', href: '/' },
46
- { name: 'Products', href: '/products' },
47
- { name: 'Electronics', href: '/electronics' },
48
- ];
49
- Object.defineProperty(measureEl, 'scrollWidth', {
50
- get() {
51
- return this.textContent === '/' ? 5 : this.textContent.length * 8;
52
- },
53
- configurable: true,
54
- });
55
- const result = calculateMaxLength(breadcrumbs, 1000, false, measureEl);
56
- const maxNameLength = Math.max(...breadcrumbs.map((b) => b.name.length));
57
- expect(result).toBe(maxNameLength);
58
- });
59
- it('should limit max length when available width is constrained', () => {
60
- const breadcrumbs = [
61
- { name: 'VeryLongBreadcrumbName', href: '/' },
62
- { name: 'AnotherLongName', href: '/another' },
63
- ];
64
- Object.defineProperty(measureEl, 'scrollWidth', {
65
- get() {
66
- return this.textContent === '/' ? 5 : this.textContent.length * 8;
67
- },
68
- configurable: true,
69
- });
70
- const result = calculateMaxLength(breadcrumbs, 150, false, measureEl);
71
- expect(result).toBeLessThan(breadcrumbs[0].name.length);
72
- expect(result).toBeGreaterThanOrEqual(10);
73
- });
74
- it('should handle breadcrumbs with varying name lengths', () => {
75
- const breadcrumbs = [
76
- { name: 'Short', href: '/' },
77
- { name: 'MediumLength', href: '/medium' },
78
- { name: 'VeryVeryLongBreadcrumbName', href: '/long' },
79
- ];
80
- Object.defineProperty(measureEl, 'scrollWidth', {
81
- get() {
82
- return this.textContent === '/' ? 5 : this.textContent.length * 8;
83
- },
84
- configurable: true,
85
- });
86
- const result = calculateMaxLength(breadcrumbs, 300, false, measureEl);
87
- expect(result).toBeGreaterThanOrEqual(10);
88
- expect(result).toBeLessThanOrEqual(breadcrumbs[2].name.length);
89
- });
90
- it('should handle many breadcrumbs with limited width', () => {
91
- const breadcrumbs = Array.from({ length: 10 }, (_, i) => ({
92
- name: `Level${i + 1}`,
93
- href: `/level${i + 1}`,
94
- }));
95
- Object.defineProperty(measureEl, 'scrollWidth', {
96
- get() {
97
- return this.textContent === '/' ? 5 : this.textContent.length * 8;
98
- },
99
- configurable: true,
100
- });
101
- const result = calculateMaxLength(breadcrumbs, 400, false, measureEl);
102
- expect(result).toBeGreaterThanOrEqual(10);
103
- });
104
- it('should enforce minimum length even with very constrained space', () => {
105
- const breadcrumbs = [
106
- { name: 'A', href: '/' },
107
- { name: 'B', href: '/b' },
108
- ];
109
- Object.defineProperty(measureEl, 'scrollWidth', {
110
- get() {
111
- return this.textContent === '/' ? 50 : this.textContent.length * 100;
112
- },
113
- configurable: true,
114
- });
115
- const result = calculateMaxLength(breadcrumbs, 50, false, measureEl);
116
- expect(result).toBe(10);
117
- });
118
- });
119
- //# sourceMappingURL=calculateMaxLength.test.js.map
@@ -1 +0,0 @@
1
- export {};