@internetarchive/collection-browser 1.14.9-alpha.2 → 1.14.9-alpha10

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 (291) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +9 -9
  6. package/dist/index.js +9 -9
  7. package/dist/src/app-root.d.ts +73 -72
  8. package/dist/src/app-root.js +501 -429
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  58. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  59. package/dist/src/assets/img/icons/null-result.js +2 -2
  60. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  61. package/dist/src/assets/img/icons/restricted.js +2 -2
  62. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  63. package/dist/src/assets/img/icons/reviews.js +2 -2
  64. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  65. package/dist/src/assets/img/icons/upload.js +2 -2
  66. package/dist/src/assets/img/icons/views.d.ts +1 -1
  67. package/dist/src/assets/img/icons/views.js +2 -2
  68. package/dist/src/circular-activity-indicator.d.ts +5 -5
  69. package/dist/src/circular-activity-indicator.js +17 -17
  70. package/dist/src/collection-browser.d.ts +533 -533
  71. package/dist/src/collection-browser.js +1894 -1893
  72. package/dist/src/collection-browser.js.map +1 -1
  73. package/dist/src/collection-facets/facet-row.d.ts +30 -0
  74. package/dist/src/collection-facets/facet-row.js +245 -0
  75. package/dist/src/collection-facets/facet-row.js.map +1 -0
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +17 -20
  79. package/dist/src/collection-facets/facets-template.js +122 -264
  80. package/dist/src/collection-facets/facets-template.js.map +1 -1
  81. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  82. package/dist/src/collection-facets/more-facets-content.js +359 -359
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +104 -104
  88. package/dist/src/collection-facets.js +506 -506
  89. package/dist/src/empty-placeholder.d.ts +23 -23
  90. package/dist/src/empty-placeholder.js +74 -74
  91. package/dist/src/expanded-date-picker.d.ts +43 -43
  92. package/dist/src/expanded-date-picker.js +109 -109
  93. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  94. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  95. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  96. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  97. package/dist/src/manage/manage-bar.d.ts +26 -26
  98. package/dist/src/manage/manage-bar.js +53 -53
  99. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  100. package/dist/src/mediatype/mediatype-config.js +91 -91
  101. package/dist/src/models.d.ts +180 -164
  102. package/dist/src/models.js +269 -269
  103. package/dist/src/models.js.map +1 -1
  104. package/dist/src/restoration-state-handler.d.ts +70 -70
  105. package/dist/src/restoration-state-handler.js +355 -355
  106. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  107. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  108. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  109. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  110. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  112. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/list.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  118. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  120. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  122. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  124. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  125. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  126. package/dist/src/styles/item-image-styles.d.ts +8 -8
  127. package/dist/src/styles/item-image-styles.js +9 -9
  128. package/dist/src/styles/sr-only.d.ts +1 -1
  129. package/dist/src/styles/sr-only.js +2 -2
  130. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  131. package/dist/src/tiles/base-tile-component.js +63 -63
  132. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  133. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  134. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  135. package/dist/src/tiles/grid/account-tile.js +72 -72
  136. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  137. package/dist/src/tiles/grid/collection-tile.js +80 -80
  138. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  139. package/dist/src/tiles/grid/item-tile.js +134 -134
  140. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  141. package/dist/src/tiles/grid/search-tile.js +51 -51
  142. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  143. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  144. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  145. package/dist/src/tiles/grid/tile-stats.js +48 -48
  146. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  147. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  148. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  149. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  150. package/dist/src/tiles/image-block.d.ts +17 -17
  151. package/dist/src/tiles/image-block.js +73 -73
  152. package/dist/src/tiles/item-image.d.ts +36 -36
  153. package/dist/src/tiles/item-image.js +127 -127
  154. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  155. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  156. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  157. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  158. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  159. package/dist/src/tiles/list/tile-list.js +302 -302
  160. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  161. package/dist/src/tiles/mediatype-icon.js +47 -47
  162. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  163. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  164. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  165. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  166. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  167. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  168. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  169. package/dist/src/tiles/text-snippet-block.js +73 -73
  170. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  171. package/dist/src/tiles/tile-dispatcher.js +231 -231
  172. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  173. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  174. package/dist/src/utils/analytics-events.d.ts +25 -25
  175. package/dist/src/utils/analytics-events.js +27 -27
  176. package/dist/src/utils/array-equals.d.ts +4 -4
  177. package/dist/src/utils/array-equals.js +10 -10
  178. package/dist/src/utils/format-count.d.ts +7 -7
  179. package/dist/src/utils/format-count.js +76 -76
  180. package/dist/src/utils/format-date.d.ts +2 -2
  181. package/dist/src/utils/format-date.js +25 -25
  182. package/dist/src/utils/format-unit-size.d.ts +2 -2
  183. package/dist/src/utils/format-unit-size.js +33 -33
  184. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  185. package/dist/src/utils/local-date-from-utc.js +15 -15
  186. package/dist/src/utils/sha1.d.ts +2 -2
  187. package/dist/src/utils/sha1.js +8 -8
  188. package/dist/test/collection-browser.test.d.ts +1 -1
  189. package/dist/test/collection-browser.test.js +1130 -1098
  190. package/dist/test/collection-browser.test.js.map +1 -1
  191. package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
  192. package/dist/test/collection-facets/facet-row.test.js +235 -0
  193. package/dist/test/collection-facets/facet-row.test.js.map +1 -0
  194. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  195. package/dist/test/collection-facets/facets-template.test.js +110 -141
  196. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  197. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  198. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  199. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  200. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  201. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  202. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  203. package/dist/test/collection-facets.test.d.ts +2 -2
  204. package/dist/test/collection-facets.test.js +651 -682
  205. package/dist/test/collection-facets.test.js.map +1 -1
  206. package/dist/test/empty-placeholder.test.d.ts +1 -1
  207. package/dist/test/empty-placeholder.test.js +63 -63
  208. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  209. package/dist/test/expanded-date-picker.test.js +95 -95
  210. package/dist/test/icon-overlay.test.d.ts +1 -1
  211. package/dist/test/icon-overlay.test.js +24 -24
  212. package/dist/test/image-block.test.d.ts +1 -1
  213. package/dist/test/image-block.test.js +48 -48
  214. package/dist/test/item-image.test.d.ts +1 -1
  215. package/dist/test/item-image.test.js +86 -86
  216. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  217. package/dist/test/manage/manage-bar.test.js +72 -72
  218. package/dist/test/mediatype-config.test.d.ts +1 -1
  219. package/dist/test/mediatype-config.test.js +16 -16
  220. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  221. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  222. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  223. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  224. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  225. package/dist/test/mocks/mock-search-responses.js +709 -709
  226. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  227. package/dist/test/mocks/mock-search-service.js +50 -50
  228. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  229. package/dist/test/restoration-state-handler.test.js +270 -270
  230. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  231. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  232. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  233. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  234. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  235. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  236. package/dist/test/text-overlay.test.d.ts +1 -1
  237. package/dist/test/text-overlay.test.js +48 -48
  238. package/dist/test/text-snippet-block.test.d.ts +1 -1
  239. package/dist/test/text-snippet-block.test.js +57 -57
  240. package/dist/test/tile-stats.test.d.ts +1 -1
  241. package/dist/test/tile-stats.test.js +33 -33
  242. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  243. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  244. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  245. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  246. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  247. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  248. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  249. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  250. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  251. package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -258
  252. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  253. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  254. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  255. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  256. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  257. package/dist/test/tiles/list/tile-list.test.js +242 -242
  258. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  259. package/dist/test/tiles/tile-dispatcher.test.js +94 -94
  260. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  261. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  262. package/dist/test/utils/array-equals.test.d.ts +1 -1
  263. package/dist/test/utils/array-equals.test.js +26 -26
  264. package/dist/test/utils/format-count.test.d.ts +1 -1
  265. package/dist/test/utils/format-count.test.js +23 -23
  266. package/dist/test/utils/format-date.test.d.ts +1 -1
  267. package/dist/test/utils/format-date.test.js +17 -17
  268. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  269. package/dist/test/utils/format-unit-size.test.js +17 -17
  270. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  271. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  272. package/local.archive.org.cert +86 -86
  273. package/local.archive.org.key +27 -27
  274. package/package.json +2 -2
  275. package/renovate.json +6 -6
  276. package/src/app-root.ts +159 -82
  277. package/src/collection-browser.ts +25 -22
  278. package/src/collection-facets/facet-row.ts +274 -0
  279. package/src/collection-facets/facets-template.ts +49 -196
  280. package/src/models.ts +18 -2
  281. package/test/collection-browser.test.ts +36 -4
  282. package/test/collection-facets/facet-row.test.ts +328 -0
  283. package/test/collection-facets/facets-template.test.ts +72 -110
  284. package/test/collection-facets.test.ts +69 -101
  285. package/tsconfig.json +21 -21
  286. package/web-dev-server.config.mjs +30 -30
  287. package/web-test-runner.config.mjs +41 -41
  288. package/dist/src/selected-facets.d.ts +0 -67
  289. package/dist/src/selected-facets.js +0 -149
  290. package/dist/src/selected-facets.js.map +0 -1
  291. package/src/selected-facets.ts +0 -216
@@ -0,0 +1,235 @@
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import sinon from 'sinon';
3
+ import { html } from 'lit';
4
+ import '../../src/collection-facets/facet-row';
5
+ import { MockCollectionNameCache } from '../mocks/mock-collection-name-cache';
6
+ describe('Facet row', () => {
7
+ it('renders nothing if no bucket provided', async () => {
8
+ var _a;
9
+ const el = await fixture(html `<facet-row .facetType=${'subject'}></facet-row>`);
10
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
11
+ });
12
+ it('renders nothing if no facet type provided', async () => {
13
+ var _a;
14
+ const bucket = {
15
+ key: 'foo',
16
+ state: 'none',
17
+ count: 5,
18
+ };
19
+ const el = await fixture(html `<facet-row .bucket=${bucket}></facet-row>`);
20
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
21
+ });
22
+ it('renders provided bucket as facet row', async () => {
23
+ var _a, _b, _c, _d, _e;
24
+ const bucket = {
25
+ key: 'foo',
26
+ state: 'none',
27
+ count: 5,
28
+ };
29
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
30
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).to.exist;
31
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('input[type="checkbox"]')).to.have.length(2);
32
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('label')).to.have.length(2);
33
+ expect((_e = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.match(/^foo\s*5$/);
34
+ });
35
+ it('renders locale-appropriate facet count', async () => {
36
+ var _a;
37
+ const bucket = {
38
+ key: 'foo',
39
+ state: 'none',
40
+ count: 54321,
41
+ };
42
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
43
+ const facetCount = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-count');
44
+ expect(facetCount === null || facetCount === void 0 ? void 0 : facetCount.textContent).to.equal('54,321');
45
+ });
46
+ it('renders selected facets with checked checkbox', async () => {
47
+ var _a, _b, _c;
48
+ const bucket = {
49
+ key: 'foo',
50
+ state: 'selected',
51
+ count: 5,
52
+ };
53
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
54
+ // "Positive" checkbox is checked; "Negative" checkbox is not checked
55
+ const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
56
+ const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
57
+ expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.true;
58
+ expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.false;
59
+ // Eye icon is not in its active state
60
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => !icon.classList.contains('active'));
61
+ });
62
+ it('renders hidden facets with closed eye icon', async () => {
63
+ var _a, _b, _c;
64
+ const bucket = {
65
+ key: 'foo',
66
+ state: 'hidden',
67
+ count: 5,
68
+ };
69
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
70
+ // "Positive" checkbox is not checked; "Negative" checkbox is checked
71
+ const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
72
+ const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
73
+ expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.false;
74
+ expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.true;
75
+ // Eye icon is in its "active" state
76
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => icon.classList.contains('active'));
77
+ });
78
+ it('renders collection facets as links', async () => {
79
+ var _a, _b;
80
+ const collectionNameCache = new MockCollectionNameCache();
81
+ const bucket = {
82
+ key: 'foo',
83
+ state: 'none',
84
+ count: 5,
85
+ };
86
+ const el = await fixture(html `<facet-row
87
+ .facetType=${'collection'}
88
+ .bucket=${bucket}
89
+ .collectionNameCache=${collectionNameCache}
90
+ ></facet-row>`);
91
+ const collectionName = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('async-collection-name');
92
+ expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.be.instanceOf(HTMLAnchorElement);
93
+ expect((_b = collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement) === null || _b === void 0 ? void 0 : _b.getAttribute('href')).to.equal('/details/foo');
94
+ });
95
+ it('does not render non-collection facets as links', async () => {
96
+ var _a;
97
+ const collectionNameCache = new MockCollectionNameCache();
98
+ const bucket = {
99
+ key: 'foo',
100
+ state: 'none',
101
+ count: 5,
102
+ };
103
+ const el = await fixture(html `<facet-row
104
+ .facetType=${'subject'}
105
+ .bucket=${bucket}
106
+ .collectionNameCache=${collectionNameCache}
107
+ ></facet-row>`);
108
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a:link')).not.to.exist;
109
+ });
110
+ it('emits event when facet checkbox is clicked', async () => {
111
+ var _a, _b;
112
+ const facetClickSpy = sinon.spy();
113
+ const bucket = {
114
+ key: 'foo',
115
+ state: 'none',
116
+ count: 5,
117
+ };
118
+ const el = await fixture(html `<facet-row
119
+ .facetType=${'subject'}
120
+ .bucket=${bucket}
121
+ @facetClick=${facetClickSpy}
122
+ ></facet-row>`);
123
+ const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
124
+ expect(positiveFacetCheck).to.exist;
125
+ positiveFacetCheck.click();
126
+ expect(facetClickSpy.callCount).to.equal(1);
127
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
128
+ facetType: 'subject',
129
+ bucket,
130
+ negative: false,
131
+ });
132
+ });
133
+ it('emits event when facet checkbox is unchecked', async () => {
134
+ var _a, _b;
135
+ const facetClickSpy = sinon.spy();
136
+ const bucket = {
137
+ key: 'foo',
138
+ state: 'selected',
139
+ count: 5,
140
+ };
141
+ const el = await fixture(html `<facet-row
142
+ .facetType=${'subject'}
143
+ .bucket=${bucket}
144
+ @facetClick=${facetClickSpy}
145
+ ></facet-row>`);
146
+ const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
147
+ expect(positiveFacetCheck).to.exist;
148
+ positiveFacetCheck.click();
149
+ expect(facetClickSpy.callCount).to.equal(1);
150
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
151
+ facetType: 'subject',
152
+ bucket,
153
+ negative: false,
154
+ });
155
+ });
156
+ it('emits event when facet negative icon is clicked', async () => {
157
+ var _a, _b;
158
+ const facetClickSpy = sinon.spy();
159
+ const bucket = {
160
+ key: 'foo',
161
+ state: 'none',
162
+ count: 5,
163
+ };
164
+ const el = await fixture(html `<facet-row
165
+ .facetType=${'subject'}
166
+ .bucket=${bucket}
167
+ @facetClick=${facetClickSpy}
168
+ ></facet-row>`);
169
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
170
+ expect(negativeFacetIcon).to.exist;
171
+ negativeFacetIcon.click();
172
+ expect(facetClickSpy.callCount).to.equal(1);
173
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
174
+ facetType: 'subject',
175
+ bucket,
176
+ negative: true,
177
+ });
178
+ });
179
+ it('emits event when facet negative icon is unchecked', async () => {
180
+ var _a, _b;
181
+ const facetClickSpy = sinon.spy();
182
+ const bucket = {
183
+ key: 'foo',
184
+ state: 'hidden',
185
+ count: 5,
186
+ };
187
+ const el = await fixture(html `<facet-row
188
+ .facetType=${'subject'}
189
+ .bucket=${bucket}
190
+ @facetClick=${facetClickSpy}
191
+ ></facet-row>`);
192
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
193
+ expect(negativeFacetIcon).to.exist;
194
+ negativeFacetIcon.click();
195
+ expect(facetClickSpy.callCount).to.equal(1);
196
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
197
+ facetType: 'subject',
198
+ bucket,
199
+ negative: true,
200
+ });
201
+ });
202
+ it('selects/deselects facet when label is clicked', async () => {
203
+ var _a, _b, _c;
204
+ const facetClickSpy = sinon.spy();
205
+ const bucket = {
206
+ key: 'foo',
207
+ state: 'none',
208
+ count: 5,
209
+ };
210
+ const el = await fixture(html `<facet-row
211
+ .facetType=${'subject'}
212
+ .bucket=${bucket}
213
+ @facetClick=${facetClickSpy}
214
+ ></facet-row>`);
215
+ const facetLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
216
+ expect(facetLabel).to.exist;
217
+ // Select facet by clicking label
218
+ facetLabel.click();
219
+ expect(facetClickSpy.callCount).to.equal(1);
220
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
221
+ facetType: 'subject',
222
+ bucket,
223
+ negative: false,
224
+ });
225
+ // Deselect facet by clicking label
226
+ facetLabel.click();
227
+ expect(facetClickSpy.callCount).to.equal(2);
228
+ expect((_c = facetClickSpy.lastCall.args[0]) === null || _c === void 0 ? void 0 : _c.detail).to.deep.equal({
229
+ facetType: 'subject',
230
+ bucket,
231
+ negative: false,
232
+ });
233
+ });
234
+ });
235
+ //# sourceMappingURL=facet-row.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facet-row.test.js","sourceRoot":"","sources":["../../../test/collection-facets/facet-row.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport sinon from 'sinon';\nimport { html } from 'lit';\nimport type { FacetRow } from '../../src/collection-facets/facet-row';\nimport '../../src/collection-facets/facet-row';\nimport type { FacetState } from '../../src/models';\nimport { MockCollectionNameCache } from '../mocks/mock-collection-name-cache';\n\ndescribe('Facet row', () => {\n it('renders nothing if no bucket provided', async () => {\n const el = await fixture<FacetRow>(\n html`<facet-row .facetType=${'subject'}></facet-row>`\n );\n\n expect(el.shadowRoot?.querySelector('.facet-row-container')).not.to.exist;\n });\n\n it('renders nothing if no facet type provided', async () => {\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row .bucket=${bucket}></facet-row>`\n );\n\n expect(el.shadowRoot?.querySelector('.facet-row-container')).not.to.exist;\n });\n\n it('renders provided bucket as facet row', async () => {\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`\n );\n\n expect(el.shadowRoot?.querySelector('.facet-row-container')).to.exist;\n expect(\n el.shadowRoot?.querySelectorAll('input[type=\"checkbox\"]')\n ).to.have.length(2);\n expect(el.shadowRoot?.querySelectorAll('label')).to.have.length(2);\n\n expect(el.shadowRoot?.textContent?.trim()).to.match(/^foo\\s*5$/);\n });\n\n it('renders locale-appropriate facet count', async () => {\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 54321,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`\n );\n\n const facetCount = el.shadowRoot?.querySelector('.facet-count');\n expect(facetCount?.textContent).to.equal('54,321');\n });\n\n it('renders selected facets with checked checkbox', async () => {\n const bucket = {\n key: 'foo',\n state: 'selected' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`\n );\n\n // \"Positive\" checkbox is checked; \"Negative\" checkbox is not checked\n const selectCheckbox = el.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n const hideCheckbox = el.shadowRoot?.querySelector(\n '.hide-facet-checkbox'\n ) as HTMLInputElement;\n expect(selectCheckbox?.checked).to.be.true;\n expect(hideCheckbox?.checked).to.be.false;\n\n // Eye icon is not in its active state\n expect(\n el.shadowRoot?.querySelector('.hide-facet-icon')\n ).to.exist.and.satisfy(\n (icon: HTMLElement) => !icon.classList.contains('active')\n );\n });\n\n it('renders hidden facets with closed eye icon', async () => {\n const bucket = {\n key: 'foo',\n state: 'hidden' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`\n );\n\n // \"Positive\" checkbox is not checked; \"Negative\" checkbox is checked\n const selectCheckbox = el.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n const hideCheckbox = el.shadowRoot?.querySelector(\n '.hide-facet-checkbox'\n ) as HTMLInputElement;\n expect(selectCheckbox?.checked).to.be.false;\n expect(hideCheckbox?.checked).to.be.true;\n\n // Eye icon is in its \"active\" state\n expect(\n el.shadowRoot?.querySelector('.hide-facet-icon')\n ).to.exist.and.satisfy((icon: HTMLElement) =>\n icon.classList.contains('active')\n );\n });\n\n it('renders collection facets as links', async () => {\n const collectionNameCache = new MockCollectionNameCache();\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'collection'}\n .bucket=${bucket}\n .collectionNameCache=${collectionNameCache}\n ></facet-row>`\n );\n\n const collectionName = el.shadowRoot?.querySelector(\n 'async-collection-name'\n );\n expect(collectionName?.parentElement).to.be.instanceOf(HTMLAnchorElement);\n expect(collectionName?.parentElement?.getAttribute('href')).to.equal(\n '/details/foo'\n );\n });\n\n it('does not render non-collection facets as links', async () => {\n const collectionNameCache = new MockCollectionNameCache();\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n .collectionNameCache=${collectionNameCache}\n ></facet-row>`\n );\n\n expect(el.shadowRoot?.querySelector('a:link')).not.to.exist;\n });\n\n it('emits event when facet checkbox is clicked', async () => {\n const facetClickSpy = sinon.spy();\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n @facetClick=${facetClickSpy}\n ></facet-row>`\n );\n\n const positiveFacetCheck = el.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n expect(positiveFacetCheck).to.exist;\n positiveFacetCheck.click();\n\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: false,\n });\n });\n\n it('emits event when facet checkbox is unchecked', async () => {\n const facetClickSpy = sinon.spy();\n const bucket = {\n key: 'foo',\n state: 'selected' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n @facetClick=${facetClickSpy}\n ></facet-row>`\n );\n\n const positiveFacetCheck = el.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n expect(positiveFacetCheck).to.exist;\n positiveFacetCheck.click();\n\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: false,\n });\n });\n\n it('emits event when facet negative icon is clicked', async () => {\n const facetClickSpy = sinon.spy();\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n @facetClick=${facetClickSpy}\n ></facet-row>`\n );\n\n const negativeFacetIcon = el.shadowRoot?.querySelector(\n '.hide-facet-icon'\n ) as HTMLLabelElement;\n expect(negativeFacetIcon).to.exist;\n negativeFacetIcon.click();\n\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: true,\n });\n });\n\n it('emits event when facet negative icon is unchecked', async () => {\n const facetClickSpy = sinon.spy();\n const bucket = {\n key: 'foo',\n state: 'hidden' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n @facetClick=${facetClickSpy}\n ></facet-row>`\n );\n\n const negativeFacetIcon = el.shadowRoot?.querySelector(\n '.hide-facet-icon'\n ) as HTMLLabelElement;\n expect(negativeFacetIcon).to.exist;\n negativeFacetIcon.click();\n\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: true,\n });\n });\n\n it('selects/deselects facet when label is clicked', async () => {\n const facetClickSpy = sinon.spy();\n const bucket = {\n key: 'foo',\n state: 'none' as FacetState,\n count: 5,\n };\n\n const el = await fixture<FacetRow>(\n html`<facet-row\n .facetType=${'subject'}\n .bucket=${bucket}\n @facetClick=${facetClickSpy}\n ></facet-row>`\n );\n\n const facetLabel = el.shadowRoot?.querySelector(\n '.facet-info-display'\n ) as HTMLLabelElement;\n expect(facetLabel).to.exist;\n\n // Select facet by clicking label\n facetLabel.click();\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: false,\n });\n\n // Deselect facet by clicking label\n facetLabel.click();\n expect(facetClickSpy.callCount).to.equal(2);\n expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({\n facetType: 'subject',\n bucket,\n negative: false,\n });\n });\n});\n"]}
@@ -1 +1 @@
1
- import '../../src/collection-facets/facets-template';
1
+ import '../../src/collection-facets/facets-template';
@@ -1,155 +1,124 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import '../../src/collection-facets/facets-template';
5
- import { getDefaultSelectedFacets } from '../../src/models';
6
- const facetGroup = {
7
- title: 'Media Type',
8
- key: 'mediatype',
9
- buckets: [
10
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
11
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
12
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
13
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
14
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
15
- ],
16
- };
17
- describe('Render facets', () => {
18
- it('should render more facets template', async () => {
19
- var _a;
20
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
21
- await el.updateComplete;
22
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row')).to.exist;
23
- });
24
- it('facets render on page', async () => {
25
- var _a;
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import sinon from 'sinon';
3
+ import { html } from 'lit';
4
+ import '../../src/collection-facets/facets-template';
5
+ const facetGroup = {
6
+ title: 'Media Type',
7
+ key: 'mediatype',
8
+ buckets: [
9
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
10
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
11
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
12
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
13
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
14
+ ],
15
+ };
16
+ describe('Render facets', () => {
17
+ it('should render more facets template', async () => {
18
+ var _a;
19
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
20
+ await el.updateComplete;
21
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row')).to.exist;
22
+ });
23
+ it('facets render on page', async () => {
24
+ var _a;
26
25
  const el = await fixture(html `<facets-template
27
26
  .facetGroup=${facetGroup}
28
27
  .renderOn=${'page'}
29
- ></facets-template>`);
30
- await el.updateComplete;
31
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
32
- });
33
- it('facets render on modal', async () => {
34
- var _a;
28
+ ></facets-template>`);
29
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
30
+ });
31
+ it('facets render on modal', async () => {
32
+ var _a;
35
33
  const el = await fixture(html `<facets-template
36
34
  .facetGroup=${facetGroup}
37
35
  .renderOn=${'modal'}
38
- ></facets-template>`);
39
- await el.updateComplete;
40
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
41
- });
42
- it('find facet-title and facet-count for particular facet group', async () => {
43
- var _a, _b, _c, _d;
44
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
45
- await el.updateComplete;
46
- const facetInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
47
- expect((_b = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-title')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal('audio');
48
- expect((_d = (_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('1,001');
49
- });
50
- it('find the hidden facet item', async () => {
51
- var _a;
52
- const selectedFacets = { ...facetGroup };
53
- selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype
36
+ ></facets-template>`);
37
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
38
+ });
39
+ it('applies correct bucket values to facet row', async () => {
40
+ var _a;
41
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
42
+ const facetRows = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('facet-row');
43
+ expect(facetRows === null || facetRows === void 0 ? void 0 : facetRows.length).to.equal(facetGroup.buckets.length);
44
+ facetRows === null || facetRows === void 0 ? void 0 : facetRows.forEach((elmt, i) => {
45
+ const facetRow = elmt;
46
+ expect(facetRow).to.exist;
47
+ expect(facetRow.bucket).to.equal(facetGroup.buckets[i]);
48
+ expect(facetRow.facetType).to.equal(facetGroup.key);
49
+ });
50
+ });
51
+ it('emits facet click and change events when a facet is selected/deselected', async () => {
52
+ var _a, _b, _c, _d;
53
+ const facetClickSpy = sinon.spy();
54
+ const facetChangeSpy = sinon.spy();
54
55
  const el = await fixture(html `<facets-template
55
56
  .facetGroup=${facetGroup}
56
- .selectedFacets=${selectedFacets}
57
- ></facets-template>`);
58
- await el.updateComplete;
59
- const hiddenFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
60
- // check title attribute for 'texts' mediatype
61
- expect(hiddenFacet === null || hiddenFacet === void 0 ? void 0 : hiddenFacet.getAttribute('title')).equal('Unhide mediatype: texts');
62
- });
63
- it('find the selected facet item', async () => {
64
- var _a;
65
- const selectedFacets = { ...facetGroup };
66
- selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype
57
+ @facetClick=${facetClickSpy}
58
+ @selectedFacetsChanged=${facetChangeSpy}
59
+ ></facets-template>`);
60
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
61
+ expect(facetRow).to.exist;
62
+ const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
63
+ expect(facetSelectCheck).to.exist;
64
+ facetSelectCheck.click();
65
+ expect(facetClickSpy.callCount).to.equal(1);
66
+ expect(facetChangeSpy.callCount).to.equal(1);
67
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('selected');
68
+ facetSelectCheck.click();
69
+ expect(facetClickSpy.callCount).to.equal(2);
70
+ expect(facetChangeSpy.callCount).to.equal(2);
71
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
72
+ });
73
+ it('emits facet click and change events when a facet is negated/un-negated', async () => {
74
+ var _a, _b, _c, _d;
75
+ const facetClickSpy = sinon.spy();
76
+ const facetChangeSpy = sinon.spy();
67
77
  const el = await fixture(html `<facets-template
68
78
  .facetGroup=${facetGroup}
69
- .selectedFacets=${selectedFacets}
70
- ></facets-template>`);
71
- await el.updateComplete;
72
- const selectedFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
73
- // check title attribute for 'movies' mediatype
74
- expect(selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.getAttribute('title')).equal('Hide mediatype: movies');
75
- });
76
- it('emits facetClick events for normal facets', async () => {
77
- var _a, _b, _c, _d, _e, _f, _g;
78
- const facetClickSpy = sinon.spy();
79
- const mediatypeGroup = {
80
- title: 'Media Type',
81
- key: 'mediatype',
82
- buckets: [
83
- { displayText: 'audio', key: 'audio', count: 42, state: 'none' },
84
- ],
85
- };
86
- const selectedFacets = getDefaultSelectedFacets();
87
- const el = await fixture(html `<facets-template
88
- .facetGroup=${mediatypeGroup}
89
- .selectedFacets=${selectedFacets}
90
79
  @facetClick=${facetClickSpy}
91
- ></facets-template>`);
92
- const checkbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
93
- expect(checkbox).to.exist;
94
- // Select it
95
- checkbox.click();
96
- await el.updateComplete;
97
- expect(facetClickSpy.callCount).to.equal(1);
98
- const selectEvent = facetClickSpy
99
- .args[0][0];
100
- expect(selectEvent).to.exist;
101
- expect((_b = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _b === void 0 ? void 0 : _b.key).to.equal('mediatype');
102
- expect((_c = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _c === void 0 ? void 0 : _c.state).to.equal('selected');
103
- expect((_d = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _d === void 0 ? void 0 : _d.negative).to.be.false;
104
- // Unselect it
105
- checkbox.click();
106
- await el.updateComplete;
107
- expect(facetClickSpy.callCount).to.equal(2);
108
- const unselectEvent = facetClickSpy
109
- .args[1][0];
110
- expect(unselectEvent).to.exist;
111
- expect((_e = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _e === void 0 ? void 0 : _e.key).to.equal('mediatype');
112
- expect((_f = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _f === void 0 ? void 0 : _f.state).to.equal('none');
113
- expect((_g = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _g === void 0 ? void 0 : _g.negative).to.be.false;
114
- });
115
- it('emits facetClick events for negative facets', async () => {
116
- var _a, _b, _c, _d, _e, _f, _g;
117
- const facetClickSpy = sinon.spy();
118
- const mediatypeGroup = {
119
- title: 'Media Type',
120
- key: 'mediatype',
121
- buckets: [
122
- { displayText: 'audio', key: 'audio', count: 42, state: 'none' },
123
- ],
124
- };
125
- const selectedFacets = getDefaultSelectedFacets();
80
+ @selectedFacetsChanged=${facetChangeSpy}
81
+ ></facets-template>`);
82
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
83
+ expect(facetRow).to.exist;
84
+ const facetNegateCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
85
+ expect(facetNegateCheck).to.exist;
86
+ facetNegateCheck.click();
87
+ expect(facetClickSpy.callCount).to.equal(1);
88
+ expect(facetChangeSpy.callCount).to.equal(1);
89
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('hidden');
90
+ facetNegateCheck.click();
91
+ expect(facetClickSpy.callCount).to.equal(2);
92
+ expect(facetChangeSpy.callCount).to.equal(2);
93
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
94
+ });
95
+ it('emits facet click and change events when a pre-selected facet is deselected', async () => {
96
+ var _a, _b, _c, _d;
97
+ const facetClickSpy = sinon.spy();
98
+ const facetChangeSpy = sinon.spy();
99
+ const facetGroupWithSelection = { ...facetGroup };
100
+ facetGroupWithSelection.buckets = [
101
+ { ...facetGroup.buckets[0], state: 'selected' },
102
+ ...facetGroup.buckets.slice(1),
103
+ ];
126
104
  const el = await fixture(html `<facets-template
127
- .facetGroup=${mediatypeGroup}
128
- .selectedFacets=${selectedFacets}
105
+ .facetGroup=${facetGroupWithSelection}
129
106
  @facetClick=${facetClickSpy}
130
- ></facets-template>`);
131
- const checkbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-checkbox');
132
- expect(checkbox).to.exist;
133
- // Select it
134
- checkbox.click();
135
- await el.updateComplete;
136
- expect(facetClickSpy.callCount).to.equal(1);
137
- const selectEvent = facetClickSpy
138
- .args[0][0];
139
- expect(selectEvent).to.exist;
140
- expect((_b = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _b === void 0 ? void 0 : _b.key).to.equal('mediatype');
141
- expect((_c = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _c === void 0 ? void 0 : _c.state).to.equal('hidden');
142
- expect((_d = selectEvent === null || selectEvent === void 0 ? void 0 : selectEvent.detail) === null || _d === void 0 ? void 0 : _d.negative).to.be.true;
143
- // Unselect it
144
- checkbox.click();
145
- await el.updateComplete;
146
- expect(facetClickSpy.callCount).to.equal(2);
147
- const unselectEvent = facetClickSpy
148
- .args[1][0];
149
- expect(unselectEvent).to.exist;
150
- expect((_e = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _e === void 0 ? void 0 : _e.key).to.equal('mediatype');
151
- expect((_f = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _f === void 0 ? void 0 : _f.state).to.equal('none');
152
- expect((_g = unselectEvent === null || unselectEvent === void 0 ? void 0 : unselectEvent.detail) === null || _g === void 0 ? void 0 : _g.negative).to.be.true;
153
- });
154
- });
107
+ @selectedFacetsChanged=${facetChangeSpy}
108
+ ></facets-template>`);
109
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
110
+ expect(facetRow).to.exist;
111
+ const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
112
+ expect(facetSelectCheck).to.exist;
113
+ expect(facetSelectCheck.checked).to.be.true;
114
+ facetSelectCheck.click();
115
+ expect(facetClickSpy.callCount).to.equal(1);
116
+ expect(facetChangeSpy.callCount).to.equal(1);
117
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('none');
118
+ facetSelectCheck.click();
119
+ expect(facetClickSpy.callCount).to.equal(2);
120
+ expect(facetChangeSpy.callCount).to.equal(2);
121
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('selected');
122
+ });
123
+ });
155
124
  //# sourceMappingURL=facets-template.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"facets-template.test.js","sourceRoot":"","sources":["../../../test/collection-facets/facets-template.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,kBAAkB,CAAC;AAE/E,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE;QACP,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QAClE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;QACnE,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QAClE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/D,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;KAC9D;CACF,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,gCAAgC,UAAU,qBAAqB,CACpE,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;QACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,UAAU;oBACZ,MAAM;0BACA,CACrB,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;;QACtC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,UAAU;oBACZ,OAAO;0BACD,CACrB,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;;QAC3E,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,gCAAgC,UAAU,qBAAqB,CACpE,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,CAAC,cAAc,CAAC,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CACpE,OAAO,CACR,CAAC;QACF,MAAM,CACJ,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,CAAC,cAAc,CAAC,0CAAE,WAAW,0CAAE,IAAI,EAAE,CAC9D,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;;QAC1C,MAAM,cAAc,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QACzC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,yBAAyB;QAErE,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,UAAU;0BACN,cAAc;0BACd,CACrB,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAE3E,8CAA8C;QAC9C,MAAM,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;;QAC5C,MAAM,cAAc,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QACzC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,4BAA4B;QAE1E,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,UAAU;0BACN,cAAc;0BACd,CACrB,CAAC;QACF,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,aAAa,GACjB,MAAA,EAAE,CAAC,UAAU,0CAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEzD,+CAA+C;QAC/C,MAAM,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAChD,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE;gBACP,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACjE;SACF,CAAC;QACF,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,cAAc;0BACV,cAAc;sBAClB,aAAa;0BACT,CACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC3C,wBAAwB,CACL,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE1B,YAAY;QACZ,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,aAAa;aAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAElD,cAAc;QACd,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,aAAa;aAChC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;;QAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE;gBACP,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACjE;SACF,CAAC;QACF,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;sBACY,cAAc;0BACV,cAAc;sBAClB,aAAa;0BACT,CACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC3C,sBAAsB,CACH,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE1B,YAAY;QACZ,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,aAAa;aAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAEjD,cAAc;QACd,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,aAAa;aAChC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport sinon from 'sinon';\nimport { html } from 'lit';\nimport type { FacetsTemplate } from '../../src/collection-facets/facets-template';\nimport '../../src/collection-facets/facets-template';\nimport { getDefaultSelectedFacets, FacetEventDetails } from '../../src/models';\n\nconst facetGroup = {\n title: 'Media Type',\n key: 'mediatype',\n buckets: [\n { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },\n { displayText: 'movies', key: 'movies', count: 901, state: 'none' },\n { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },\n { displayText: 'data', key: 'data', count: 230, state: 'none' },\n { displayText: 'web', key: 'web', count: 453, state: 'none' },\n ],\n};\n\ndescribe('Render facets', () => {\n it('should render more facets template', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template .facetGroup=${facetGroup}></facets-template>`\n );\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facet-row')).to.exist;\n });\n\n it('facets render on page', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .renderOn=${'page'}\n ></facets-template>`\n );\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facets-on-page')).to.exist;\n });\n\n it('facets render on modal', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .renderOn=${'modal'}\n ></facets-template>`\n );\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facets-on-modal')).to.exist;\n });\n\n it('find facet-title and facet-count for particular facet group', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template .facetGroup=${facetGroup}></facets-template>`\n );\n await el.updateComplete;\n\n const facetInfo = el.shadowRoot?.querySelector('.facet-info-display');\n expect(facetInfo?.querySelector('.facet-title')?.textContent).to.equal(\n 'audio'\n );\n expect(\n facetInfo?.querySelector('.facet-count')?.textContent?.trim()\n ).to.equal('1,001');\n });\n\n it('find the hidden facet item', async () => {\n const selectedFacets = { ...facetGroup };\n selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype\n\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .selectedFacets=${selectedFacets}\n ></facets-template>`\n );\n await el.updateComplete;\n\n const hiddenFacet = el.shadowRoot?.querySelectorAll('.hide-facet-icon')[0];\n\n // check title attribute for 'texts' mediatype\n expect(hiddenFacet?.getAttribute('title')).equal('Unhide mediatype: texts');\n });\n\n it('find the selected facet item', async () => {\n const selectedFacets = { ...facetGroup };\n selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype\n\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .selectedFacets=${selectedFacets}\n ></facets-template>`\n );\n await el.updateComplete;\n\n const selectedFacet =\n el.shadowRoot?.querySelectorAll('.hide-facet-icon')[0];\n\n // check title attribute for 'movies' mediatype\n expect(selectedFacet?.getAttribute('title')).equal(\n 'Hide mediatype: movies'\n );\n });\n\n it('emits facetClick events for normal facets', async () => {\n const facetClickSpy = sinon.spy();\n const mediatypeGroup = {\n title: 'Media Type',\n key: 'mediatype',\n buckets: [\n { displayText: 'audio', key: 'audio', count: 42, state: 'none' },\n ],\n };\n const selectedFacets = getDefaultSelectedFacets();\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${mediatypeGroup}\n .selectedFacets=${selectedFacets}\n @facetClick=${facetClickSpy}\n ></facets-template>`\n );\n\n const checkbox = el.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n expect(checkbox).to.exist;\n\n // Select it\n checkbox.click();\n await el.updateComplete;\n expect(facetClickSpy.callCount).to.equal(1);\n\n const selectEvent = facetClickSpy\n .args[0][0] as CustomEvent<FacetEventDetails>;\n expect(selectEvent).to.exist;\n expect(selectEvent?.detail?.key).to.equal('mediatype');\n expect(selectEvent?.detail?.state).to.equal('selected');\n expect(selectEvent?.detail?.negative).to.be.false;\n\n // Unselect it\n checkbox.click();\n await el.updateComplete;\n expect(facetClickSpy.callCount).to.equal(2);\n\n const unselectEvent = facetClickSpy\n .args[1][0] as CustomEvent<FacetEventDetails>;\n expect(unselectEvent).to.exist;\n expect(unselectEvent?.detail?.key).to.equal('mediatype');\n expect(unselectEvent?.detail?.state).to.equal('none');\n expect(unselectEvent?.detail?.negative).to.be.false;\n });\n\n it('emits facetClick events for negative facets', async () => {\n const facetClickSpy = sinon.spy();\n const mediatypeGroup = {\n title: 'Media Type',\n key: 'mediatype',\n buckets: [\n { displayText: 'audio', key: 'audio', count: 42, state: 'none' },\n ],\n };\n const selectedFacets = getDefaultSelectedFacets();\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${mediatypeGroup}\n .selectedFacets=${selectedFacets}\n @facetClick=${facetClickSpy}\n ></facets-template>`\n );\n\n const checkbox = el.shadowRoot?.querySelector(\n '.hide-facet-checkbox'\n ) as HTMLInputElement;\n expect(checkbox).to.exist;\n\n // Select it\n checkbox.click();\n await el.updateComplete;\n expect(facetClickSpy.callCount).to.equal(1);\n\n const selectEvent = facetClickSpy\n .args[0][0] as CustomEvent<FacetEventDetails>;\n expect(selectEvent).to.exist;\n expect(selectEvent?.detail?.key).to.equal('mediatype');\n expect(selectEvent?.detail?.state).to.equal('hidden');\n expect(selectEvent?.detail?.negative).to.be.true;\n\n // Unselect it\n checkbox.click();\n await el.updateComplete;\n expect(facetClickSpy.callCount).to.equal(2);\n\n const unselectEvent = facetClickSpy\n .args[1][0] as CustomEvent<FacetEventDetails>;\n expect(unselectEvent).to.exist;\n expect(unselectEvent?.detail?.key).to.equal('mediatype');\n expect(unselectEvent?.detail?.state).to.equal('none');\n expect(unselectEvent?.detail?.negative).to.be.true;\n });\n});\n"]}
1
+ {"version":3,"file":"facets-template.test.js","sourceRoot":"","sources":["../../../test/collection-facets/facets-template.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport sinon from 'sinon';\nimport { html } from 'lit';\nimport type { FacetsTemplate } from '../../src/collection-facets/facets-template';\nimport '../../src/collection-facets/facets-template';\nimport type { FacetRow } from '../../src/collection-facets/facet-row';\nimport type { FacetGroup } from '../../src/models';\n\nconst facetGroup: FacetGroup = {\n title: 'Media Type',\n key: 'mediatype',\n buckets: [\n { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },\n { displayText: 'movies', key: 'movies', count: 901, state: 'none' },\n { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },\n { displayText: 'data', key: 'data', count: 230, state: 'none' },\n { displayText: 'web', key: 'web', count: 453, state: 'none' },\n ],\n};\n\ndescribe('Render facets', () => {\n it('should render more facets template', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template .facetGroup=${facetGroup}></facets-template>`\n );\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('facet-row')).to.exist;\n });\n\n it('facets render on page', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .renderOn=${'page'}\n ></facets-template>`\n );\n\n expect(el.shadowRoot?.querySelector('.facets-on-page')).to.exist;\n });\n\n it('facets render on modal', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n .renderOn=${'modal'}\n ></facets-template>`\n );\n\n expect(el.shadowRoot?.querySelector('.facets-on-modal')).to.exist;\n });\n\n it('applies correct bucket values to facet row', async () => {\n const el = await fixture<FacetsTemplate>(\n html`<facets-template .facetGroup=${facetGroup}></facets-template>`\n );\n\n const facetRows = el.shadowRoot?.querySelectorAll('facet-row');\n expect(facetRows?.length).to.equal(facetGroup.buckets.length);\n\n facetRows?.forEach((elmt, i) => {\n const facetRow = elmt as FacetRow;\n expect(facetRow).to.exist;\n expect(facetRow.bucket).to.equal(facetGroup.buckets[i]);\n expect(facetRow.facetType).to.equal(facetGroup.key);\n });\n });\n\n it('emits facet click and change events when a facet is selected/deselected', async () => {\n const facetClickSpy = sinon.spy();\n const facetChangeSpy = sinon.spy();\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n @facetClick=${facetClickSpy}\n @selectedFacetsChanged=${facetChangeSpy}\n ></facets-template>`\n );\n\n const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;\n expect(facetRow).to.exist;\n\n const facetSelectCheck = facetRow.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n expect(facetSelectCheck).to.exist;\n\n facetSelectCheck.click();\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetChangeSpy.callCount).to.equal(1);\n expect(facetRow.bucket?.state).to.equal('selected');\n\n facetSelectCheck.click();\n expect(facetClickSpy.callCount).to.equal(2);\n expect(facetChangeSpy.callCount).to.equal(2);\n expect(facetRow.bucket?.state).to.equal('none');\n });\n\n it('emits facet click and change events when a facet is negated/un-negated', async () => {\n const facetClickSpy = sinon.spy();\n const facetChangeSpy = sinon.spy();\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroup}\n @facetClick=${facetClickSpy}\n @selectedFacetsChanged=${facetChangeSpy}\n ></facets-template>`\n );\n\n const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;\n expect(facetRow).to.exist;\n\n const facetNegateCheck = facetRow.shadowRoot?.querySelector(\n '.hide-facet-checkbox'\n ) as HTMLInputElement;\n expect(facetNegateCheck).to.exist;\n\n facetNegateCheck.click();\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetChangeSpy.callCount).to.equal(1);\n expect(facetRow.bucket?.state).to.equal('hidden');\n\n facetNegateCheck.click();\n expect(facetClickSpy.callCount).to.equal(2);\n expect(facetChangeSpy.callCount).to.equal(2);\n expect(facetRow.bucket?.state).to.equal('none');\n });\n\n it('emits facet click and change events when a pre-selected facet is deselected', async () => {\n const facetClickSpy = sinon.spy();\n const facetChangeSpy = sinon.spy();\n const facetGroupWithSelection = { ...facetGroup };\n facetGroupWithSelection.buckets = [\n { ...facetGroup.buckets[0], state: 'selected' },\n ...facetGroup.buckets.slice(1),\n ];\n\n const el = await fixture<FacetsTemplate>(\n html`<facets-template\n .facetGroup=${facetGroupWithSelection}\n @facetClick=${facetClickSpy}\n @selectedFacetsChanged=${facetChangeSpy}\n ></facets-template>`\n );\n\n const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;\n expect(facetRow).to.exist;\n\n const facetSelectCheck = facetRow.shadowRoot?.querySelector(\n '.select-facet-checkbox'\n ) as HTMLInputElement;\n expect(facetSelectCheck).to.exist;\n expect(facetSelectCheck.checked).to.be.true;\n\n facetSelectCheck.click();\n expect(facetClickSpy.callCount).to.equal(1);\n expect(facetChangeSpy.callCount).to.equal(1);\n expect(facetRow.bucket?.state).to.equal('none');\n\n facetSelectCheck.click();\n expect(facetClickSpy.callCount).to.equal(2);\n expect(facetChangeSpy.callCount).to.equal(2);\n expect(facetRow.bucket?.state).to.equal('selected');\n });\n});\n"]}
@@ -1 +1 @@
1
- import '../../src/collection-facets/more-facets-content';
1
+ import '../../src/collection-facets/more-facets-content';