@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha2
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.
- package/.editorconfig +29 -29
- package/.github/workflows/ci.yml +3 -3
- package/.github/workflows/gh-pages-main.yml +2 -2
- package/.github/workflows/pr-preview.yml +2 -2
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -0
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +11 -13
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +109 -107
- package/dist/src/app-root.js +541 -531
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/contract.d.ts +2 -2
- package/dist/src/assets/img/icons/contract.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/expand.d.ts +2 -2
- package/dist/src/assets/img/icons/expand.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
- package/dist/src/assets/img/icons/filter.d.ts +2 -2
- package/dist/src/assets/img/icons/filter.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/circular-activity-indicator.js.map +1 -1
- package/dist/src/collection-browser.d.ts +607 -606
- package/dist/src/collection-browser.js +1683 -1677
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -30
- package/dist/src/collection-facets/facet-row.js +118 -118
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +49 -49
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +406 -408
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +197 -196
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
- package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
- package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
- package/dist/src/collection-facets/smart-facets/models.js +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +521 -522
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
- package/dist/src/data-source/collection-browser-data-source.js +1003 -1001
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
- package/dist/src/data-source/collection-browser-query-state.js +1 -1
- package/dist/src/data-source/models.d.ts +28 -28
- package/dist/src/data-source/models.js +8 -8
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +87 -88
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/expanded-date-picker.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
- package/dist/src/manage/manage-bar.d.ts +58 -58
- package/dist/src/manage/manage-bar.js +175 -175
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
- package/dist/src/manage/remove-items-modal-content.js +34 -34
- package/dist/src/manage/remove-items-modal-content.js.map +1 -1
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +92 -91
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/models.d.ts +228 -228
- package/dist/src/models.js +401 -401
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +362 -363
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
- package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +17 -17
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +64 -64
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +159 -160
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/search-tile.js.map +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +54 -54
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/item-image.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
- package/dist/src/tiles/list/tile-list-compact.js +122 -122
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +324 -326
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/mediatype-icon.js.map +1 -1
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/icon-overlay.js +25 -25
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/review-block.js.map +1 -1
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/text-snippet-block.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
- package/dist/src/tiles/tile-display-value-provider.js +94 -94
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/src/utils/analytics-events.d.ts +28 -28
- package/dist/src/utils/analytics-events.js +30 -30
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- package/dist/src/utils/facet-utils.d.ts +83 -83
- package/dist/src/utils/facet-utils.js +145 -145
- package/dist/src/utils/facet-utils.js.map +1 -1
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +75 -76
- package/dist/src/utils/format-count.js.map +1 -1
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +27 -27
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/format-unit-size.js.map +1 -1
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/log.d.ts +7 -7
- package/dist/src/utils/log.js +13 -15
- package/dist/src/utils/log.js.map +1 -1
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/resolve-mediatype.js.map +1 -1
- package/dist/src/utils/sha1.d.ts +2 -2
- package/dist/src/utils/sha1.js +8 -8
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +1309 -1308
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +230 -227
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +91 -91
- package/dist/test/collection-facets/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +140 -141
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +82 -73
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +692 -692
- package/dist/test/collection-facets.test.js.map +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
- package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +62 -63
- package/dist/test/empty-placeholder.test.js.map +1 -1
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +97 -96
- package/dist/test/expanded-date-picker.test.js.map +1 -1
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +23 -24
- package/dist/test/icon-overlay.test.js.map +1 -1
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +106 -107
- package/dist/test/image-block.test.js.map +1 -1
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -85
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.d.ts +2 -2
- package/dist/test/manage/manage-bar.test.js +100 -101
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
- package/dist/test/manage/remove-items-modal-content.test.js +44 -45
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-search-responses.d.ts +25 -25
- package/dist/test/mocks/mock-search-responses.js +942 -942
- package/dist/test/mocks/mock-search-responses.js.map +1 -1
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/mocks/mock-search-service.js.map +1 -1
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +43 -44
- package/dist/test/review-block.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +37 -38
- package/dist/test/text-overlay.test.js.map +1 -1
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +56 -57
- package/dist/test/text-snippet-block.test.js.map +1 -1
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +98 -99
- package/dist/test/tile-stats.test.js.map +1 -1
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +75 -76
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +72 -73
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +311 -312
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +50 -51
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +296 -297
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +100 -100
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-count.test.js.map +1 -1
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +30 -30
- package/dist/test/utils/format-date.test.js.map +1 -1
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
- package/eslint.config.mjs +53 -0
- package/index.html +0 -3
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +41 -39
- package/renovate.json +6 -6
- package/src/app-root.ts +33 -23
- package/src/collection-browser.ts +44 -42
- package/src/collection-facets/facets-template.ts +7 -6
- package/src/collection-facets/more-facets-content.ts +11 -13
- package/src/collection-facets/more-facets-pagination.ts +3 -2
- package/src/collection-facets/smart-facets/dedupe.ts +2 -2
- package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
- package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
- package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
- package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
- package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
- package/src/collection-facets/toggle-switch.ts +2 -2
- package/src/collection-facets.ts +18 -19
- package/src/data-source/collection-browser-data-source-interface.ts +5 -1
- package/src/data-source/collection-browser-data-source.ts +42 -35
- package/src/empty-placeholder.ts +19 -16
- package/src/expanded-date-picker.ts +1 -1
- package/src/language-code-handler/language-code-handler.ts +1 -1
- package/src/manage/manage-bar.ts +23 -20
- package/src/manage/remove-items-modal-content.ts +2 -2
- package/src/mediatype/mediatype-config.ts +1 -0
- package/src/models.ts +3 -3
- package/src/restoration-state-handler.ts +14 -15
- package/src/sort-filter-bar/alpha-bar.ts +16 -17
- package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -1
- package/src/tiles/grid/item-tile.ts +9 -9
- package/src/tiles/grid/tile-stats.ts +4 -4
- package/src/tiles/hover/hover-pane-controller.ts +1 -1
- package/src/tiles/hover/tile-hover-pane.ts +4 -2
- package/src/tiles/item-image.ts +1 -1
- package/src/tiles/list/tile-list-compact.ts +2 -2
- package/src/tiles/list/tile-list.ts +22 -24
- package/src/tiles/tile-dispatcher.ts +5 -5
- package/src/tiles/tile-display-value-provider.ts +4 -4
- package/src/utils/facet-utils.ts +6 -6
- package/src/utils/format-count.ts +2 -3
- package/src/utils/format-date.ts +1 -1
- package/src/utils/format-unit-size.ts +1 -1
- package/src/utils/log.ts +1 -3
- package/test/collection-browser.test.ts +125 -124
- package/test/collection-facets/facet-row.test.ts +31 -28
- package/test/collection-facets/facets-template.test.ts +9 -9
- package/test/collection-facets/more-facets-content.test.ts +14 -15
- package/test/collection-facets/more-facets-pagination.test.ts +18 -19
- package/test/collection-facets/toggle-switch.test.ts +28 -18
- package/test/collection-facets.test.ts +46 -39
- package/test/data-source/collection-browser-data-source.test.ts +2 -2
- package/test/empty-placeholder.test.ts +6 -7
- package/test/expanded-date-picker.test.ts +25 -20
- package/test/icon-overlay.test.ts +0 -1
- package/test/image-block.test.ts +6 -7
- package/test/item-image.test.ts +0 -1
- package/test/manage/manage-bar.test.ts +19 -16
- package/test/manage/remove-items-modal-content.test.ts +4 -5
- package/test/mocks/mock-search-responses.ts +2 -1
- package/test/mocks/mock-search-service.ts +1 -1
- package/test/restoration-state-handler.test.ts +12 -12
- package/test/review-block.test.ts +1 -2
- package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
- package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
- package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
- package/test/text-overlay.test.ts +0 -1
- package/test/text-snippet-block.test.ts +5 -6
- package/test/tile-stats.test.ts +26 -35
- package/test/tiles/grid/account-tile.test.ts +2 -3
- package/test/tiles/grid/collection-tile.test.ts +3 -4
- package/test/tiles/grid/item-tile.test.ts +13 -14
- package/test/tiles/grid/search-tile.test.ts +1 -2
- package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
- package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
- package/test/tiles/list/tile-list-compact.test.ts +1 -2
- package/test/tiles/list/tile-list.test.ts +10 -11
- package/test/tiles/tile-dispatcher.test.ts +5 -5
- package/test/utils/format-count.test.ts +1 -1
- package/test/utils/format-date.test.ts +1 -1
- package/test/utils/local-date-from-utc.test.ts +1 -1
- package/tsconfig.json +0 -1
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,104 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
expect(
|
|
13
|
-
expect(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
1
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import '../src/tiles/grid/tile-stats';
|
|
4
|
+
describe('Tile Stats', () => {
|
|
5
|
+
it('should render initial component', async () => {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
const el = await fixture(html `<tile-stats></tile-stats>`);
|
|
8
|
+
const itemStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-stats');
|
|
9
|
+
const statsRow = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
|
|
10
|
+
const statsRowCount = statsRow === null || statsRow === void 0 ? void 0 : statsRow.childElementCount;
|
|
11
|
+
expect(itemStats).to.exist;
|
|
12
|
+
expect(statsRow).to.exist;
|
|
13
|
+
expect(statsRowCount).to.equal(4);
|
|
14
|
+
});
|
|
15
|
+
it('should render component with value', async () => {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
18
17
|
const el = await fixture(html `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
28
|
-
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
29
|
-
// get second column item in stats row
|
|
30
|
-
const itemStatCount = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
31
|
-
// get third column item in stats row
|
|
32
|
-
const favoritesStatCount = (_e = (_d = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _d === void 0 ? void 0 : _d.querySelector('.status-text')) === null || _e === void 0 ? void 0 : _e.textContent;
|
|
33
|
-
// get fourth column item in stats row
|
|
34
|
-
const reviewsStatCount = (_g = (_f = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _f === void 0 ? void 0 : _f.querySelector('.status-text')) === null || _g === void 0 ? void 0 : _g.textContent;
|
|
35
|
-
expect(mediatypeStat).to.exist;
|
|
36
|
-
// Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing
|
|
37
|
-
expect(itemStatCount).to.equalSnapshot(1);
|
|
38
|
-
expect(favoritesStatCount).to.equalSnapshot(2);
|
|
39
|
-
expect(reviewsStatCount).to.equalSnapshot(3);
|
|
40
|
-
});
|
|
41
|
-
it('should render view count for non-account items', async () => {
|
|
42
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18
|
+
<tile-stats
|
|
19
|
+
.mediatype=${'account'}
|
|
20
|
+
.itemCount=${1}
|
|
21
|
+
.favCount=${2}
|
|
22
|
+
.commentCount=${3}
|
|
23
|
+
>
|
|
24
|
+
</tile-stats>
|
|
25
|
+
`);
|
|
26
|
+
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
27
|
+
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
28
|
+
// get second column item in stats row
|
|
29
|
+
const itemStatCount = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
30
|
+
// get third column item in stats row
|
|
31
|
+
const favoritesStatCount = (_e = (_d = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _d === void 0 ? void 0 : _d.querySelector('.status-text')) === null || _e === void 0 ? void 0 : _e.textContent;
|
|
32
|
+
// get fourth column item in stats row
|
|
33
|
+
const reviewsStatCount = (_g = (_f = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _f === void 0 ? void 0 : _f.querySelector('.status-text')) === null || _g === void 0 ? void 0 : _g.textContent;
|
|
34
|
+
expect(mediatypeStat).to.exist;
|
|
35
|
+
// Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing
|
|
36
|
+
expect(itemStatCount).to.equalSnapshot(1);
|
|
37
|
+
expect(favoritesStatCount).to.equalSnapshot(2);
|
|
38
|
+
expect(reviewsStatCount).to.equalSnapshot(3);
|
|
39
|
+
});
|
|
40
|
+
it('should render view count for non-account items', async () => {
|
|
41
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
43
42
|
const el = await fixture(html `
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
53
|
-
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
54
|
-
// get second column item in stats row
|
|
55
|
-
const viewStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
56
|
-
// get third column item in stats row
|
|
57
|
-
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
58
|
-
// get fourth column item in stats row
|
|
59
|
-
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
60
|
-
expect(mediatypeStat).to.exist;
|
|
61
|
-
expect(viewStatCount).to.match(/Views:\s+4/);
|
|
62
|
-
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
63
|
-
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
64
|
-
});
|
|
65
|
-
it('handles missing counts gracefully', async () => {
|
|
66
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
43
|
+
<tile-stats
|
|
44
|
+
.mediatype=${'texts'}
|
|
45
|
+
.viewCount=${4}
|
|
46
|
+
.favCount=${5}
|
|
47
|
+
.commentCount=${6}
|
|
48
|
+
>
|
|
49
|
+
</tile-stats>
|
|
50
|
+
`);
|
|
51
|
+
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
52
|
+
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
53
|
+
// get second column item in stats row
|
|
54
|
+
const viewStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
55
|
+
// get third column item in stats row
|
|
56
|
+
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
57
|
+
// get fourth column item in stats row
|
|
58
|
+
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
59
|
+
expect(mediatypeStat).to.exist;
|
|
60
|
+
expect(viewStatCount).to.match(/Views:\s+4/);
|
|
61
|
+
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
62
|
+
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
63
|
+
});
|
|
64
|
+
it('handles missing counts gracefully', async () => {
|
|
65
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
67
66
|
const el = await fixture(html `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
72
|
-
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
73
|
-
// get second column item in stats row
|
|
74
|
-
const viewStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
75
|
-
// get third column item in stats row
|
|
76
|
-
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
77
|
-
// get fourth column item in stats row
|
|
78
|
-
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
79
|
-
expect(mediatypeStat).to.exist;
|
|
80
|
-
expect(viewStatCount).to.match(/Views:\s+0/);
|
|
81
|
-
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
82
|
-
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
83
|
-
});
|
|
84
|
-
it('handles missing counts gracefully for accounts', async () => {
|
|
85
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
67
|
+
<tile-stats .mediatype=${'texts'} .favCount=${5} .commentCount=${6}>
|
|
68
|
+
</tile-stats>
|
|
69
|
+
`);
|
|
70
|
+
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
71
|
+
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
72
|
+
// get second column item in stats row
|
|
73
|
+
const viewStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
74
|
+
// get third column item in stats row
|
|
75
|
+
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
76
|
+
// get fourth column item in stats row
|
|
77
|
+
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
78
|
+
expect(mediatypeStat).to.exist;
|
|
79
|
+
expect(viewStatCount).to.match(/Views:\s+0/);
|
|
80
|
+
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
81
|
+
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
82
|
+
});
|
|
83
|
+
it('handles missing counts gracefully for accounts', async () => {
|
|
84
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
86
85
|
const el = await fixture(html `
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
91
|
-
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
92
|
-
// get second column item in stats row
|
|
93
|
-
const itemStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
94
|
-
// get third column item in stats row
|
|
95
|
-
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
96
|
-
// get fourth column item in stats row
|
|
97
|
-
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
98
|
-
expect(mediatypeStat).to.exist;
|
|
99
|
-
expect(itemStatCount).to.match(/Uploads:\s+0/);
|
|
100
|
-
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
101
|
-
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
86
|
+
<tile-stats .mediatype=${'account'} .favCount=${5} .commentCount=${6}>
|
|
87
|
+
</tile-stats>
|
|
88
|
+
`);
|
|
89
|
+
const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
|
|
90
|
+
const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
|
|
91
|
+
// get second column item in stats row
|
|
92
|
+
const itemStatCount = (_d = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim();
|
|
93
|
+
// get third column item in stats row
|
|
94
|
+
const favoritesStatCount = (_g = (_f = (_e = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('.status-text')) === null || _f === void 0 ? void 0 : _f.textContent) === null || _g === void 0 ? void 0 : _g.trim();
|
|
95
|
+
// get fourth column item in stats row
|
|
96
|
+
const reviewsStatCount = (_k = (_j = (_h = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _h === void 0 ? void 0 : _h.querySelector('.status-text')) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim();
|
|
97
|
+
expect(mediatypeStat).to.exist;
|
|
98
|
+
expect(itemStatCount).to.match(/Uploads:\s+0/);
|
|
99
|
+
expect(favoritesStatCount).to.match(/Favorites:\s+5/);
|
|
100
|
+
expect(reviewsStatCount).to.match(/Reviews:\s+6/);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
104
103
|
//# sourceMappingURL=tile-stats.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-stats.test.js","sourceRoot":"","sources":["../../test/tile-stats.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TileStats } from '../src/tiles/grid/tile-stats';\n\nimport '../src/tiles/grid/tile-stats';\n\ndescribe('Tile Stats', () => {\n it('should render initial component', async () => {\n const el = await fixture<TileStats>(html`<tile-stats></tile-stats>`);\n\n const itemStats = el.shadowRoot?.querySelector('.item-stats');\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n const statsRowCount = statsRow?.childElementCount;\n\n expect(itemStats).to.exist;\n expect(statsRow).to.exist;\n expect(statsRowCount).to.equal(4);\n });\n\n it('should render component with value', async () => {\n const el = await fixture<TileStats>(\n html`\n <tile-stats\n .mediatype=${'account'}\n .itemCount=${1}\n .favCount=${2}\n .commentCount=${3}\n >\n </tile-stats>\n `\n );\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const itemStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')?.textContent;\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')?.textContent;\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')?.textContent;\n\n expect(mediatypeStat).to.exist;\n\n // Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing\n expect(itemStatCount).to.equalSnapshot(1);\n expect(favoritesStatCount).to.equalSnapshot(2);\n expect(reviewsStatCount).to.equalSnapshot(3);\n });\n\n it('should render view count for non-account items', async () => {\n const el = await fixture<TileStats>(\n html`\n <tile-stats\n .mediatype=${'texts'}\n .viewCount=${4}\n .favCount=${5}\n .commentCount=${6}\n >\n </tile-stats>\n `\n );\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const viewStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(viewStatCount).to.match(/Views:\\s+4/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n\n it('handles missing counts gracefully', async () => {\n const el = await fixture<TileStats>(\n html`\n <tile-stats .mediatype=${'texts'} .favCount=${5} .commentCount=${6}>\n </tile-stats>\n `\n );\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const viewStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(viewStatCount).to.match(/Views:\\s+0/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n\n it('handles missing counts gracefully for accounts', async () => {\n const el = await fixture<TileStats>(\n html`\n <tile-stats .mediatype=${'account'} .favCount=${5} .commentCount=${6}>\n </tile-stats>\n `\n );\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const itemStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(itemStatCount).to.match(/Uploads:\\s+0/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"tile-stats.test.js","sourceRoot":"","sources":["../../test/tile-stats.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TileStats } from '../src/tiles/grid/tile-stats';\n\nimport '../src/tiles/grid/tile-stats';\n\ndescribe('Tile Stats', () => {\n it('should render initial component', async () => {\n const el = await fixture<TileStats>(html`<tile-stats></tile-stats>`);\n\n const itemStats = el.shadowRoot?.querySelector('.item-stats');\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n const statsRowCount = statsRow?.childElementCount;\n\n expect(itemStats).to.exist;\n expect(statsRow).to.exist;\n expect(statsRowCount).to.equal(4);\n });\n\n it('should render component with value', async () => {\n const el = await fixture<TileStats>(html`\n <tile-stats\n .mediatype=${'account'}\n .itemCount=${1}\n .favCount=${2}\n .commentCount=${3}\n >\n </tile-stats>\n `);\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const itemStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')?.textContent;\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')?.textContent;\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')?.textContent;\n\n expect(mediatypeStat).to.exist;\n\n // Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing\n expect(itemStatCount).to.equalSnapshot(1);\n expect(favoritesStatCount).to.equalSnapshot(2);\n expect(reviewsStatCount).to.equalSnapshot(3);\n });\n\n it('should render view count for non-account items', async () => {\n const el = await fixture<TileStats>(html`\n <tile-stats\n .mediatype=${'texts'}\n .viewCount=${4}\n .favCount=${5}\n .commentCount=${6}\n >\n </tile-stats>\n `);\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const viewStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(viewStatCount).to.match(/Views:\\s+4/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n\n it('handles missing counts gracefully', async () => {\n const el = await fixture<TileStats>(html`\n <tile-stats .mediatype=${'texts'} .favCount=${5} .commentCount=${6}>\n </tile-stats>\n `);\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const viewStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(viewStatCount).to.match(/Views:\\s+0/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n\n it('handles missing counts gracefully for accounts', async () => {\n const el = await fixture<TileStats>(html`\n <tile-stats .mediatype=${'account'} .favCount=${5} .commentCount=${6}>\n </tile-stats>\n `);\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const itemStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')\n ?.textContent?.trim();\n\n expect(mediatypeStat).to.exist;\n expect(itemStatCount).to.match(/Uploads:\\s+0/);\n expect(favoritesStatCount).to.match(/Favorites:\\s+5/);\n expect(reviewsStatCount).to.match(/Reviews:\\s+6/);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../../src/tiles/grid/account-tile';
|
|
1
|
+
import '../../../src/tiles/grid/account-tile';
|
|
@@ -1,97 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
expect(
|
|
15
|
-
expect(
|
|
16
|
-
expect(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var _a, _b, _c;
|
|
1
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
+
import sinon from 'sinon';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../../../src/tiles/grid/account-tile';
|
|
5
|
+
describe('Account Tile', () => {
|
|
6
|
+
it('should render initial component', async () => {
|
|
7
|
+
var _a, _b, _c, _d;
|
|
8
|
+
const el = await fixture(html `<account-tile></account-tile>`);
|
|
9
|
+
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
10
|
+
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('image-block');
|
|
11
|
+
const itemArchivist = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.archivist-since');
|
|
12
|
+
const tileStats = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('tile-stats');
|
|
13
|
+
expect(itemInfo).to.exist;
|
|
14
|
+
expect(itemImage).to.exist;
|
|
15
|
+
expect(itemArchivist).to.exist;
|
|
16
|
+
expect(tileStats).to.exist;
|
|
17
|
+
});
|
|
18
|
+
it('should render with title element', async () => {
|
|
19
|
+
var _a, _b, _c;
|
|
21
20
|
const el = await fixture(html `
|
|
22
21
|
<account-tile
|
|
23
|
-
.model=${{
|
|
24
|
-
identifier: '@jack-sparrow',
|
|
22
|
+
.model=${{
|
|
23
|
+
identifier: '@jack-sparrow',
|
|
25
24
|
}}
|
|
26
25
|
>
|
|
27
26
|
</account-tile>
|
|
28
|
-
`);
|
|
29
|
-
await el.updateComplete;
|
|
30
|
-
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
31
|
-
const accountTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
|
|
32
|
-
expect(itemInfo).to.exist;
|
|
33
|
-
expect(accountTitle).to.exist;
|
|
34
|
-
expect((_c = accountTitle === null || accountTitle === void 0 ? void 0 : accountTitle.querySelector('.truncated')) === null || _c === void 0 ? void 0 : _c.textContent).to.equal('@jack-sparrow');
|
|
35
|
-
});
|
|
36
|
-
it('should render with archivist-since date element', async () => {
|
|
37
|
-
var _a;
|
|
27
|
+
`);
|
|
28
|
+
await el.updateComplete;
|
|
29
|
+
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
30
|
+
const accountTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
|
|
31
|
+
expect(itemInfo).to.exist;
|
|
32
|
+
expect(accountTitle).to.exist;
|
|
33
|
+
expect((_c = accountTitle === null || accountTitle === void 0 ? void 0 : accountTitle.querySelector('.truncated')) === null || _c === void 0 ? void 0 : _c.textContent).to.equal('@jack-sparrow');
|
|
34
|
+
});
|
|
35
|
+
it('should render with archivist-since date element', async () => {
|
|
36
|
+
var _a;
|
|
38
37
|
const el = await fixture(html `
|
|
39
38
|
<account-tile
|
|
40
|
-
.model=${{
|
|
41
|
-
dateAdded: new Date('2022-02-02'),
|
|
39
|
+
.model=${{
|
|
40
|
+
dateAdded: new Date('2022-02-02'),
|
|
42
41
|
}}
|
|
43
42
|
>
|
|
44
43
|
</account-tile>
|
|
45
|
-
`);
|
|
46
|
-
await el.updateComplete;
|
|
47
|
-
const itemArchivist = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.archivist-since');
|
|
48
|
-
expect(itemArchivist === null || itemArchivist === void 0 ? void 0 : itemArchivist.textContent).contains('Archivist since 2022');
|
|
49
|
-
});
|
|
50
|
-
it('should render with tile-stats element', async () => {
|
|
51
|
-
var _a, _b;
|
|
44
|
+
`);
|
|
45
|
+
await el.updateComplete;
|
|
46
|
+
const itemArchivist = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.archivist-since');
|
|
47
|
+
expect(itemArchivist === null || itemArchivist === void 0 ? void 0 : itemArchivist.textContent).contains('Archivist since 2022');
|
|
48
|
+
});
|
|
49
|
+
it('should render with tile-stats element', async () => {
|
|
50
|
+
var _a, _b;
|
|
52
51
|
const el = await fixture(html `
|
|
53
52
|
<account-tile
|
|
54
|
-
.model=${{
|
|
55
|
-
identifier: '@jack-sparrow',
|
|
56
|
-
mediatype: 'account',
|
|
57
|
-
itemCount: 999,
|
|
58
|
-
favCount: 100,
|
|
59
|
-
commentCount: 3,
|
|
53
|
+
.model=${{
|
|
54
|
+
identifier: '@jack-sparrow',
|
|
55
|
+
mediatype: 'account',
|
|
56
|
+
itemCount: 999,
|
|
57
|
+
favCount: 100,
|
|
58
|
+
commentCount: 3,
|
|
60
59
|
}}
|
|
61
60
|
>
|
|
62
61
|
</account-tile>
|
|
63
|
-
`);
|
|
64
|
-
await el.updateComplete;
|
|
65
|
-
const tileStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-stats');
|
|
66
|
-
const statsElements = (_b = tileStats === null || tileStats === void 0 ? void 0 : tileStats.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
|
|
67
|
-
expect(tileStats).to.exist;
|
|
68
|
-
expect(statsElements).to.exist;
|
|
69
|
-
const downloads = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[1].querySelector('.status-text');
|
|
70
|
-
expect(downloads === null || downloads === void 0 ? void 0 : downloads.textContent).contains(999);
|
|
71
|
-
const favorites = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[2].querySelector('.status-text');
|
|
72
|
-
expect(favorites === null || favorites === void 0 ? void 0 : favorites.textContent).contains(100);
|
|
73
|
-
const reviewCounts = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[3].querySelector('.status-text');
|
|
74
|
-
expect(reviewCounts === null || reviewCounts === void 0 ? void 0 : reviewCounts.textContent).contains(3);
|
|
75
|
-
});
|
|
76
|
-
it('should render info button when showInfoButton flag is set', async () => {
|
|
77
|
-
var _a;
|
|
62
|
+
`);
|
|
63
|
+
await el.updateComplete;
|
|
64
|
+
const tileStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-stats');
|
|
65
|
+
const statsElements = (_b = tileStats === null || tileStats === void 0 ? void 0 : tileStats.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
|
|
66
|
+
expect(tileStats).to.exist;
|
|
67
|
+
expect(statsElements).to.exist;
|
|
68
|
+
const downloads = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[1].querySelector('.status-text');
|
|
69
|
+
expect(downloads === null || downloads === void 0 ? void 0 : downloads.textContent).contains(999);
|
|
70
|
+
const favorites = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[2].querySelector('.status-text');
|
|
71
|
+
expect(favorites === null || favorites === void 0 ? void 0 : favorites.textContent).contains(100);
|
|
72
|
+
const reviewCounts = statsElements === null || statsElements === void 0 ? void 0 : statsElements.querySelectorAll('.col')[3].querySelector('.status-text');
|
|
73
|
+
expect(reviewCounts === null || reviewCounts === void 0 ? void 0 : reviewCounts.textContent).contains(3);
|
|
74
|
+
});
|
|
75
|
+
it('should render info button when showInfoButton flag is set', async () => {
|
|
76
|
+
var _a;
|
|
78
77
|
const el = await fixture(html `
|
|
79
78
|
<account-tile ?showInfoButton=${true}> </account-tile>
|
|
80
|
-
`);
|
|
81
|
-
const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
|
|
82
|
-
expect(infoButton).to.exist;
|
|
83
|
-
});
|
|
84
|
-
it('should dispatch event when info button tapped', async () => {
|
|
85
|
-
var _a;
|
|
86
|
-
const infoButtonSpy = sinon.spy();
|
|
79
|
+
`);
|
|
80
|
+
const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
|
|
81
|
+
expect(infoButton).to.exist;
|
|
82
|
+
});
|
|
83
|
+
it('should dispatch event when info button tapped', async () => {
|
|
84
|
+
var _a;
|
|
85
|
+
const infoButtonSpy = sinon.spy();
|
|
87
86
|
const el = await fixture(html `
|
|
88
87
|
<account-tile ?showInfoButton=${true} @infoButtonPressed=${infoButtonSpy}>
|
|
89
88
|
</account-tile>
|
|
90
|
-
`);
|
|
91
|
-
const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
|
|
92
|
-
infoButton.click();
|
|
93
|
-
await el.updateComplete;
|
|
94
|
-
expect(infoButtonSpy.callCount).to.equal(1);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
89
|
+
`);
|
|
90
|
+
const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
|
|
91
|
+
infoButton.click();
|
|
92
|
+
await el.updateComplete;
|
|
93
|
+
expect(infoButtonSpy.callCount).to.equal(1);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
97
96
|
//# sourceMappingURL=account-tile.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-tile.test.js","sourceRoot":"","sources":["../../../../test/tiles/grid/account-tile.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"account-tile.test.js","sourceRoot":"","sources":["../../../../test/tiles/grid/account-tile.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 { AccountTile } from '../../../src/tiles/grid/account-tile';\n\nimport '../../../src/tiles/grid/account-tile';\n\ndescribe('Account Tile', () => {\n it('should render initial component', async () => {\n const el = await fixture<AccountTile>(html`<account-tile></account-tile>`);\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const itemImage = el.shadowRoot?.querySelector('image-block');\n const itemArchivist = el.shadowRoot?.querySelector('.archivist-since');\n const tileStats = el.shadowRoot?.querySelector('tile-stats');\n\n expect(itemInfo).to.exist;\n expect(itemImage).to.exist;\n expect(itemArchivist).to.exist;\n expect(tileStats).to.exist;\n });\n\n it('should render with title element', async () => {\n const el = await fixture<AccountTile>(html`\n <account-tile\n .model=${{\n identifier: '@jack-sparrow',\n }}\n >\n </account-tile>\n `);\n await el.updateComplete;\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const accountTitle = el.shadowRoot?.querySelector('#title');\n\n expect(itemInfo).to.exist;\n expect(accountTitle).to.exist;\n expect(accountTitle?.querySelector('.truncated')?.textContent).to.equal(\n '@jack-sparrow',\n );\n });\n\n it('should render with archivist-since date element', async () => {\n const el = await fixture<AccountTile>(html`\n <account-tile\n .model=${{\n dateAdded: new Date('2022-02-02'),\n }}\n >\n </account-tile>\n `);\n await el.updateComplete;\n\n const itemArchivist = el.shadowRoot?.querySelector('.archivist-since');\n expect(itemArchivist?.textContent).contains('Archivist since 2022');\n });\n\n it('should render with tile-stats element', async () => {\n const el = await fixture<AccountTile>(html`\n <account-tile\n .model=${{\n identifier: '@jack-sparrow',\n mediatype: 'account',\n itemCount: 999,\n favCount: 100,\n commentCount: 3,\n }}\n >\n </account-tile>\n `);\n await el.updateComplete;\n\n const tileStats = el.shadowRoot?.querySelector('tile-stats');\n const statsElements = tileStats?.shadowRoot?.querySelector('#stats-row');\n\n expect(tileStats).to.exist;\n expect(statsElements).to.exist;\n\n const downloads = statsElements\n ?.querySelectorAll('.col')[1]\n .querySelector('.status-text');\n expect(downloads?.textContent).contains(999);\n\n const favorites = statsElements\n ?.querySelectorAll('.col')[2]\n .querySelector('.status-text');\n expect(favorites?.textContent).contains(100);\n\n const reviewCounts = statsElements\n ?.querySelectorAll('.col')[3]\n .querySelector('.status-text');\n expect(reviewCounts?.textContent).contains(3);\n });\n\n it('should render info button when showInfoButton flag is set', async () => {\n const el = await fixture<AccountTile>(html`\n <account-tile ?showInfoButton=${true}> </account-tile>\n `);\n\n const infoButton = el.shadowRoot?.querySelector('.info-button');\n\n expect(infoButton).to.exist;\n });\n\n it('should dispatch event when info button tapped', async () => {\n const infoButtonSpy = sinon.spy();\n const el = await fixture<AccountTile>(html`\n <account-tile ?showInfoButton=${true} @infoButtonPressed=${infoButtonSpy}>\n </account-tile>\n `);\n\n const infoButton = el.shadowRoot?.querySelector(\n '.info-button',\n ) as HTMLButtonElement;\n infoButton.click();\n await el.updateComplete;\n\n expect(infoButtonSpy.callCount).to.equal(1);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../../src/tiles/grid/collection-tile';
|
|
1
|
+
import '../../../src/tiles/grid/collection-tile';
|