@internetarchive/collection-browser 0.4.11 → 0.4.13-alpha.1
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 +26 -26
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -9
- package/dist/src/app-root.d.ts +50 -50
- package/dist/src/app-root.js +278 -278
- 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/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.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/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/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/collection-browser.d.ts +280 -279
- package/dist/src/collection-browser.js +1178 -1156
- package/dist/src/collection-browser.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/facets-template.d.ts +16 -16
- package/dist/src/collection-facets/facets-template.js +125 -125
- package/dist/src/collection-facets/more-facets-content.d.ts +76 -75
- package/dist/src/collection-facets/more-facets-content.js +354 -377
- 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 -195
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
- package/dist/src/collection-facets/toggle-switch.js +184 -0
- package/dist/src/collection-facets/toggle-switch.js.map +1 -0
- package/dist/src/collection-facets.d.ts +81 -81
- package/dist/src/collection-facets.js +376 -385
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/empty-placeholder.d.ts +13 -11
- package/dist/src/empty-placeholder.js +80 -44
- package/dist/src/empty-placeholder.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-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +85 -85
- package/dist/src/models.d.ts +119 -115
- package/dist/src/models.js +136 -125
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +45 -45
- package/dist/src/restoration-state-handler.js +230 -230
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +25 -26
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- 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 +3 -3
- package/dist/src/sort-filter-bar/img/list.js.map +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
- 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 +189 -108
- package/dist/src/sort-filter-bar/sort-filter-bar.js +708 -614
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- 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/grid/account-tile.d.ts +20 -20
- package/dist/src/tiles/grid/account-tile.js +64 -64
- package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
- package/dist/src/tiles/grid/collection-tile.js +71 -71
- package/dist/src/tiles/grid/item-tile.d.ts +32 -32
- package/dist/src/tiles/grid/item-tile.js +130 -126
- package/dist/src/tiles/grid/item-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 +7 -7
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -10
- package/dist/src/tiles/grid/tile-stats.js +44 -40
- 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/tile-hover-pane.d.ts +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +72 -72
- package/dist/src/tiles/item-image.d.ts +35 -35
- package/dist/src/tiles/item-image.js +117 -117
- package/dist/src/tiles/list/account-label.d.ts +1 -1
- package/dist/src/tiles/list/account-label.js +6 -6
- package/dist/src/tiles/list/date-label.d.ts +1 -1
- package/dist/src/tiles/list/date-label.js +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
- package/dist/src/tiles/list/tile-list-compact.d.ts +22 -21
- package/dist/src/tiles/list/tile-list-compact.js +114 -101
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +55 -55
- package/dist/src/tiles/list/tile-list.js +304 -301
- 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/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- 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/tile-dispatcher.d.ts +58 -58
- package/dist/src/tiles/tile-dispatcher.js +194 -194
- package/dist/src/utils/analytics-events.d.ts +22 -22
- package/dist/src/utils/analytics-events.js +24 -24
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +23 -23
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +584 -584
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +62 -62
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +114 -114
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
- package/dist/test/collection-facets/toggle-switch.test.js +87 -0
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +460 -460
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +33 -33
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +48 -48
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -84
- 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-collection-name-cache.d.ts +7 -7
- package/dist/test/mocks/mock-collection-name-cache.js +13 -13
- package/dist/test/mocks/mock-search-responses.d.ts +12 -12
- package/dist/test/mocks/mock-search-responses.js +341 -341
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +40 -40
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +125 -125
- 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.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- 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 +372 -199
- 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 +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +33 -33
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +158 -158
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +104 -92
- 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 +175 -163
- 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 +67 -67
- 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-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +4 -3
- package/renovate.json +6 -6
- package/src/collection-browser.ts +28 -1
- package/src/collection-facets/more-facets-content.ts +25 -48
- package/src/collection-facets/more-facets-pagination.ts +5 -3
- package/src/collection-facets/toggle-switch.ts +184 -0
- package/src/collection-facets.ts +1 -10
- package/src/empty-placeholder.ts +53 -7
- package/src/models.ts +23 -8
- package/src/sort-filter-bar/alpha-bar-tooltip.ts +1 -2
- package/src/sort-filter-bar/img/list.ts +1 -1
- package/src/sort-filter-bar/img/sort-toggle-disabled.ts +15 -0
- package/src/sort-filter-bar/img/sort-toggle-down.ts +17 -0
- package/src/sort-filter-bar/img/sort-toggle-up.ts +17 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +433 -303
- package/src/tiles/grid/item-tile.ts +6 -1
- package/src/tiles/grid/tile-stats.ts +3 -1
- package/src/tiles/list/tile-list-compact.ts +15 -2
- package/src/tiles/list/tile-list.ts +3 -0
- package/test/collection-facets/toggle-switch.test.ts +154 -0
- package/test/sort-filter-bar/sort-filter-bar.test.ts +377 -101
- package/test/tiles/list/tile-list-compact.test.ts +14 -0
- package/test/tiles/list/tile-list.test.ts +14 -0
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-filter-bar.test.js","sourceRoot":"","sources":["../../../test/sort-filter-bar/sort-filter-bar.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 { SortFilterBar } from '../../src/sort-filter-bar/sort-filter-bar';\nimport type { SortField } from '../../src/models';\n\nimport '../../src/sort-filter-bar/sort-filter-bar';\n\ndescribe('Sort direction buttons', () => {\n it('should render sort direction button', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.sortDirection = 'asc'; // selected sort\n await el.updateComplete;\n\n const sortDirectionButtonList = el.shadowRoot?.querySelector(\n '#sort-direction-selector'\n );\n\n const sortByAscButton = sortDirectionButtonList?.querySelector(\n '#sort-ascending-btn'\n );\n expect(sortByAscButton).to.exist;\n // ascending order button is selected\n expect(sortByAscButton?.getAttribute('class')).to.equal(\n 'sort-button selected'\n );\n\n const sortByDescButton = sortDirectionButtonList?.querySelector(\n '#sort-descending-btn'\n );\n expect(sortByDescButton).to.exist;\n // descending order button is not selected\n expect(sortByDescButton?.getAttribute('class')).to.not.equal(\n 'sort-button selected'\n );\n });\n});\n\ndescribe('Sort selector default buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n const sortSelectorContainer = el.shadowRoot?.querySelector(\n '#desktop-sort-selector'\n );\n\n it('should render sort-by label', async () => {\n expect(sortSelectorContainer?.children.item(0)?.textContent).to.equal(\n 'Sort By'\n );\n });\n\n it('should render default relevance-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(1)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent).to.contain('Relevance');\n expect(defaultSortSelector?.getAttribute('class')).to.equal('selected');\n });\n\n it('should render default view-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(2)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent).to.contain('Weekly Views');\n });\n\n it('should render active view-sort selectors', async () => {\n el.selectedSort = 'alltimeview' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector =\n sortSelectorContainer?.querySelector('a.selected');\n expect(defaultSortSelector?.textContent).to.contain('All-time Views');\n });\n\n it('should render default title-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(3)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent).to.contain('Title');\n });\n\n it('should render default date-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(4)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent).to.contain('Date Published');\n });\n\n it('should render active date-sort selectors', async () => {\n el.selectedSort = 'datereviewed' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector =\n sortSelectorContainer?.querySelector('a.selected');\n expect(defaultSortSelector?.textContent).to.contain('Date Reviewed');\n });\n\n it('should render default creator-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(5)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent).to.contain('Creator');\n });\n\n it('click event on view-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(2)\n ?.querySelector('a');\n\n await defaultSortSelector?.click();\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('click event on title selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(3)\n ?.querySelector('a');\n\n await defaultSortSelector?.click();\n expect(el.selectedSort).to.equal('title');\n });\n\n it('click event on date-sort selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(4)\n ?.querySelector('a');\n\n await defaultSortSelector?.click();\n expect(el.selectedSort).to.equal('date');\n });\n\n it('click event on creator selector', async () => {\n const defaultSortSelector = sortSelectorContainer?.children\n .item(5)\n ?.querySelector('a');\n\n await defaultSortSelector?.click();\n expect(el.selectedSort).to.equal('creator');\n });\n});\n\ndescribe('Display mode/style buttons', () => {\n it('should render all display mode buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n const displayModeButtonList = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('ul');\n\n const gridButton = displayModeButtonList?.children\n .item(0)\n ?.querySelector('#grid-button');\n expect(gridButton).to.exist;\n\n const detailListButton = displayModeButtonList?.children\n .item(1)\n ?.querySelector('#list-detail-button');\n expect(detailListButton).to.exist;\n\n const compactListButton = displayModeButtonList?.children\n .item(2)\n ?.querySelector('#list-compact-button');\n expect(compactListButton).to.exist;\n });\n\n it('should active current display mode', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const displayModeTitle = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('button.active')\n ?.getAttribute('title');\n expect(displayModeTitle).to.equal('Tile view');\n });\n});\n\ndescribe('Sort/filter bar letter behavior', () => {\n it('sets the selected title letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > a[href]'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('T');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedTitleFilter).to.equal('T');\n });\n\n it('sets the selected creator letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > a[href]'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('C');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedCreatorFilter).to.equal('C');\n });\n});\n\ndescribe('Sort/filter bar mobile view', () => {\n let origWindowSize: { width: number; height: number };\n before(() => {\n origWindowSize = { width: window.innerWidth, height: window.innerHeight };\n window.resizeTo(500, 600);\n });\n\n after(() => {\n window.resizeTo(origWindowSize.width, origWindowSize.height);\n });\n\n it('renders in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileSortSelector = el.shadowRoot?.querySelector(\n '#mobile-sort-selector'\n );\n const desktopSortSelector = el.shadowRoot?.querySelector(\n '#desktop-sort-selector'\n );\n\n expect(mobileSortSelector?.classList?.contains('visible')).to.be.true;\n expect(desktopSortSelector?.classList?.contains('hidden')).to.be.true;\n });\n\n it('changes selected sort in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileSortSelector = el.shadowRoot?.querySelector(\n '#mobile-sort-selector'\n ) as HTMLSelectElement;\n expect(mobileSortSelector).to.exist;\n\n mobileSortSelector.value = 'title';\n mobileSortSelector.dispatchEvent(new Event('change'));\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('clears title filter when sort changed from title in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.selectedTitleFilter = 'A';\n await el.updateComplete;\n\n const mobileSortSelector = el.shadowRoot?.querySelector(\n '#mobile-sort-selector'\n ) as HTMLSelectElement;\n expect(mobileSortSelector).to.exist;\n\n mobileSortSelector.value = 'relevance';\n mobileSortSelector.dispatchEvent(new Event('change'));\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedTitleFilter).to.be.null;\n });\n\n it('clears creator filter when sort changed from creator in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.selectedCreatorFilter = 'A';\n await el.updateComplete;\n\n const mobileSortSelector = el.shadowRoot?.querySelector(\n '#mobile-sort-selector'\n ) as HTMLSelectElement;\n expect(mobileSortSelector).to.exist;\n\n mobileSortSelector.value = 'relevance';\n mobileSortSelector.dispatchEvent(new Event('change'));\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedCreatorFilter).to.be.null;\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"sort-filter-bar.test.js","sourceRoot":"","sources":["../../../test/sort-filter-bar/sort-filter-bar.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 { IaDropdown } from '@internetarchive/ia-dropdown';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport type { SortFilterBar } from '../../src/sort-filter-bar/sort-filter-bar';\nimport type { SortField } from '../../src/models';\n\nimport '../../src/sort-filter-bar/sort-filter-bar';\n\ndescribe('Sort selector default buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n const sortSelectorContainer = el.shadowRoot?.querySelector(\n '#sort-selector-container'\n );\n const desktopSortSelector = sortSelectorContainer?.querySelector(\n '#desktop-sort-selector'\n );\n\n before(async () => {\n el.resizeObserver = new SharedResizeObserver();\n await el.updateComplete;\n });\n\n it('should render basic component', async () => {\n expect(sortSelectorContainer).to.exist;\n expect(desktopSortSelector).to.exist;\n });\n\n it('should render sort-by label', async () => {\n const sortByLabel = el.shadowRoot?.querySelector('.sort-by-text');\n expect(sortByLabel).to.exist;\n expect(sortByLabel?.textContent?.trim()).to.equal('Sort by:');\n });\n\n it('should render sort direction button', async () => {\n const sortDirections = el.shadowRoot?.querySelector(\n '.sort-direction-container'\n );\n expect(sortDirections).to.exist;\n expect(sortDirections?.querySelector('.sort-direction-icon')).to.exist;\n });\n\n it('should render default relevance-sort selector', async () => {\n const defaultSortSelector =\n desktopSortSelector?.querySelector('a.selected');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Relevance');\n });\n\n it('should render default view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Weekly views');\n });\n\n it('should render active view-sort selectors', async () => {\n el.selectedSort = 'alltimeview' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('All-time views');\n });\n\n it('should render default title-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Title');\n });\n\n it('should render default date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date published');\n });\n\n it('should render active date-sort selectors', async () => {\n el.selectedSort = 'datereviewed' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date reviewed');\n });\n\n it('should render default creator-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('a');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Creator');\n });\n\n it('handles click event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on title selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('a');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('handles click event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles return/space key event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles return/space key event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles click event on creator selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('a');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('creator');\n });\n\n it('handles click event on view-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on date-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('shows view sort selector backdrop when view sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('shows date sort selector backdrop when date sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('closes dropdown by hitting escape key', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n});\n\ndescribe('Sort direction button behavior', () => {\n it('should disable sort direction button when sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'relevance' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.true;\n });\n\n it('should enable sort direction button when not sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.false;\n });\n\n it('should toggle sort direction when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.sortDirection = 'asc';\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('desc');\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('asc');\n });\n});\n\ndescribe('Display mode/style buttons', () => {\n it('should render all display mode buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n const displayModeButtonList = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('ul');\n\n const gridButton = displayModeButtonList?.children\n .item(0)\n ?.querySelector('#grid-button');\n expect(gridButton).to.exist;\n\n const detailListButton = displayModeButtonList?.children\n .item(1)\n ?.querySelector('#list-detail-button');\n expect(detailListButton).to.exist;\n\n const compactListButton = displayModeButtonList?.children\n .item(2)\n ?.querySelector('#list-compact-button');\n expect(compactListButton).to.exist;\n });\n\n it('should active current display mode', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const displayModeTitle = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('button.active')\n ?.getAttribute('title');\n expect(displayModeTitle).to.equal('Tile view');\n });\n\n it('should change displayMode prop to the one clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const extendedListButton = el.shadowRoot?.querySelector(\n '#list-detail-button'\n ) as HTMLElement;\n extendedListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-detail');\n\n const compactListButton = el.shadowRoot?.querySelector(\n '#list-compact-button'\n ) as HTMLElement;\n compactListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-compact');\n\n const gridModeButton = el.shadowRoot?.querySelector(\n '#grid-button'\n ) as HTMLElement;\n gridModeButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('grid');\n });\n});\n\ndescribe('Sort/filter bar letter behavior', () => {\n it('sets the selected title letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > a[href]'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('T');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedTitleFilter).to.equal('T');\n });\n\n it('sets the selected creator letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > a[href]'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('C');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedCreatorFilter).to.equal('C');\n });\n});\n\ndescribe('Sort/filter bar mobile view', () => {\n let origWindowSize: { width: number; height: number };\n before(() => {\n origWindowSize = { width: window.innerWidth, height: window.innerHeight };\n window.resizeTo(500, 600);\n });\n\n after(() => {\n window.resizeTo(origWindowSize.width, origWindowSize.height);\n });\n\n it('renders in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileSortContainer = el.shadowRoot?.querySelector(\n '#mobile-sort-container'\n );\n const desktopSortContainer = el.shadowRoot?.querySelector(\n '#desktop-sort-container'\n );\n\n expect(mobileSortContainer?.classList?.contains('visible')).to.be.true;\n expect(desktopSortContainer?.classList?.contains('hidden')).to.be.true;\n });\n\n it('changes selected sort in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'title';\n const option = { id: 'title' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('clears title filter when sort changed from title in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.selectedTitleFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedTitleFilter).to.be.null;\n });\n\n it('clears creator filter when sort changed from creator in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.selectedCreatorFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedCreatorFilter).to.be.null;\n });\n\n it('shows sort selector backdrop when mobile sort open', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n const caret = mobileDropdown?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/overlay/text-overlay';
|
|
1
|
+
import '../src/tiles/overlay/text-overlay';
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/tiles/overlay/text-overlay';
|
|
5
|
-
describe('Text Overlay component', () => {
|
|
6
|
-
it('should render initial component', async () => {
|
|
7
|
-
var _a, _b;
|
|
8
|
-
const el = await fixture(html `<text-overlay></text-overlay>`);
|
|
9
|
-
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
10
|
-
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
11
|
-
expect(overlay).to.exist;
|
|
12
|
-
expect(noPreview).to.exist;
|
|
13
|
-
});
|
|
14
|
-
it('should render component if loggedIn required', async () => {
|
|
15
|
-
var _a, _b, _c, _d;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/tiles/overlay/text-overlay';
|
|
5
|
+
describe('Text Overlay component', () => {
|
|
6
|
+
it('should render initial component', async () => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const el = await fixture(html `<text-overlay></text-overlay>`);
|
|
9
|
+
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
10
|
+
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
11
|
+
expect(overlay).to.exist;
|
|
12
|
+
expect(noPreview).to.exist;
|
|
13
|
+
});
|
|
14
|
+
it('should render component if loggedIn required', async () => {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
16
|
const el = await fixture(html `
|
|
17
17
|
<text-overlay .loggedIn=${false} .loginRequired=${true}> </text-overlay>
|
|
18
|
-
`);
|
|
19
|
-
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
20
|
-
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
21
|
-
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.icon-overlay');
|
|
22
|
-
const textOverlay = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.text-overlay');
|
|
23
|
-
expect(overlay).to.exist;
|
|
24
|
-
expect(noPreview).to.exist;
|
|
25
|
-
expect(iconOverlay).to.exist;
|
|
26
|
-
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Log in to view this item');
|
|
27
|
-
});
|
|
28
|
-
it('should render component if content warning', async () => {
|
|
29
|
-
var _a, _b, _c, _d;
|
|
18
|
+
`);
|
|
19
|
+
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
20
|
+
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
21
|
+
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.icon-overlay');
|
|
22
|
+
const textOverlay = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.text-overlay');
|
|
23
|
+
expect(overlay).to.exist;
|
|
24
|
+
expect(noPreview).to.exist;
|
|
25
|
+
expect(iconOverlay).to.exist;
|
|
26
|
+
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Log in to view this item');
|
|
27
|
+
});
|
|
28
|
+
it('should render component if content warning', async () => {
|
|
29
|
+
var _a, _b, _c, _d;
|
|
30
30
|
const el = await fixture(html `
|
|
31
31
|
<text-overlay .loggedIn=${false} .loginRequired=${false}> </text-overlay>
|
|
32
|
-
`);
|
|
33
|
-
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
34
|
-
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
35
|
-
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.icon-overlay');
|
|
36
|
-
const textOverlay = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.text-overlay');
|
|
37
|
-
expect(overlay).to.exist;
|
|
38
|
-
expect(noPreview).to.exist;
|
|
39
|
-
expect(iconOverlay).to.exist;
|
|
40
|
-
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Content may be inappropriate');
|
|
41
|
-
});
|
|
42
|
-
it('should render component if content warning', async () => {
|
|
43
|
-
var _a, _b, _c;
|
|
32
|
+
`);
|
|
33
|
+
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
34
|
+
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
35
|
+
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.icon-overlay');
|
|
36
|
+
const textOverlay = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.text-overlay');
|
|
37
|
+
expect(overlay).to.exist;
|
|
38
|
+
expect(noPreview).to.exist;
|
|
39
|
+
expect(iconOverlay).to.exist;
|
|
40
|
+
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Content may be inappropriate');
|
|
41
|
+
});
|
|
42
|
+
it('should render component if content warning', async () => {
|
|
43
|
+
var _a, _b, _c;
|
|
44
44
|
const el = await fixture(html `
|
|
45
45
|
<text-overlay .loggedIn=${true} .loginRequired=${true}> </text-overlay>
|
|
46
|
-
`);
|
|
47
|
-
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
48
|
-
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
49
|
-
const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.text-overlay');
|
|
50
|
-
expect(overlay).to.exist;
|
|
51
|
-
expect(noPreview).to.exist;
|
|
52
|
-
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Content may be inappropriate');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
46
|
+
`);
|
|
47
|
+
const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
|
|
48
|
+
const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
|
|
49
|
+
const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.text-overlay');
|
|
50
|
+
expect(overlay).to.exist;
|
|
51
|
+
expect(noPreview).to.exist;
|
|
52
|
+
expect(textOverlay === null || textOverlay === void 0 ? void 0 : textOverlay.textContent).to.equal('Content may be inappropriate');
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
55
|
//# sourceMappingURL=text-overlay.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/text-snippet-block';
|
|
1
|
+
import '../src/tiles/text-snippet-block';
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/tiles/text-snippet-block';
|
|
5
|
-
describe('TextSnippetBlock component', () => {
|
|
6
|
-
it('should render initial component', async () => {
|
|
7
|
-
var _a, _b;
|
|
8
|
-
const el = await fixture(html `<text-snippet-block></text-snippet-block>`);
|
|
9
|
-
// No content if no snippets
|
|
10
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.children.length).to.equal(0);
|
|
11
|
-
// Content appears if there are snippets
|
|
12
|
-
el.snippets = ['text'];
|
|
13
|
-
await el.updateComplete;
|
|
14
|
-
const container = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.container');
|
|
15
|
-
expect(container).to.exist;
|
|
16
|
-
});
|
|
17
|
-
it('should render marked snippets', async () => {
|
|
18
|
-
var _a;
|
|
19
|
-
const snippets = [
|
|
20
|
-
'some {{{snippet}}} text',
|
|
21
|
-
'some {{{other}}} {{{snippet}}} text',
|
|
22
|
-
];
|
|
23
|
-
const el = await fixture(html `<text-snippet-block .snippets=${snippets}></text-snippet-block>`);
|
|
24
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
25
|
-
// Has the correct number of snippets and highlights
|
|
26
|
-
expect(container === null || container === void 0 ? void 0 : container.children.length).to.equal(snippets.length);
|
|
27
|
-
expect(container === null || container === void 0 ? void 0 : container.querySelectorAll('mark').length).to.equal(3);
|
|
28
|
-
});
|
|
29
|
-
it('should render marked snippets containing newlines', async () => {
|
|
30
|
-
var _a;
|
|
31
|
-
const snippets = [
|
|
32
|
-
'some {{{snippet}}} text',
|
|
33
|
-
'some {{{other}}} {{{snippet\n text}}}',
|
|
34
|
-
];
|
|
35
|
-
const el = await fixture(html `<text-snippet-block .snippets=${snippets}></text-snippet-block>`);
|
|
36
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
37
|
-
// Has the correct number of snippets and highlights
|
|
38
|
-
expect(container === null || container === void 0 ? void 0 : container.children.length).to.equal(snippets.length);
|
|
39
|
-
expect(container === null || container === void 0 ? void 0 : container.querySelectorAll('mark').length).to.equal(3);
|
|
40
|
-
});
|
|
41
|
-
it('should render correctly in grid mode', async () => {
|
|
42
|
-
var _a;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/tiles/text-snippet-block';
|
|
5
|
+
describe('TextSnippetBlock component', () => {
|
|
6
|
+
it('should render initial component', async () => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const el = await fixture(html `<text-snippet-block></text-snippet-block>`);
|
|
9
|
+
// No content if no snippets
|
|
10
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.children.length).to.equal(0);
|
|
11
|
+
// Content appears if there are snippets
|
|
12
|
+
el.snippets = ['text'];
|
|
13
|
+
await el.updateComplete;
|
|
14
|
+
const container = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.container');
|
|
15
|
+
expect(container).to.exist;
|
|
16
|
+
});
|
|
17
|
+
it('should render marked snippets', async () => {
|
|
18
|
+
var _a;
|
|
19
|
+
const snippets = [
|
|
20
|
+
'some {{{snippet}}} text',
|
|
21
|
+
'some {{{other}}} {{{snippet}}} text',
|
|
22
|
+
];
|
|
23
|
+
const el = await fixture(html `<text-snippet-block .snippets=${snippets}></text-snippet-block>`);
|
|
24
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
25
|
+
// Has the correct number of snippets and highlights
|
|
26
|
+
expect(container === null || container === void 0 ? void 0 : container.children.length).to.equal(snippets.length);
|
|
27
|
+
expect(container === null || container === void 0 ? void 0 : container.querySelectorAll('mark').length).to.equal(3);
|
|
28
|
+
});
|
|
29
|
+
it('should render marked snippets containing newlines', async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const snippets = [
|
|
32
|
+
'some {{{snippet}}} text',
|
|
33
|
+
'some {{{other}}} {{{snippet\n text}}}',
|
|
34
|
+
];
|
|
35
|
+
const el = await fixture(html `<text-snippet-block .snippets=${snippets}></text-snippet-block>`);
|
|
36
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
37
|
+
// Has the correct number of snippets and highlights
|
|
38
|
+
expect(container === null || container === void 0 ? void 0 : container.children.length).to.equal(snippets.length);
|
|
39
|
+
expect(container === null || container === void 0 ? void 0 : container.querySelectorAll('mark').length).to.equal(3);
|
|
40
|
+
});
|
|
41
|
+
it('should render correctly in grid mode', async () => {
|
|
42
|
+
var _a;
|
|
43
43
|
const el = await fixture(html `<text-snippet-block
|
|
44
44
|
viewsize="grid"
|
|
45
45
|
.snippets=${['text']}
|
|
46
|
-
></text-snippet-block>`);
|
|
47
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
48
|
-
// Applies the right container classes
|
|
49
|
-
expect(container === null || container === void 0 ? void 0 : container.classList.contains('grid')).to.be.true;
|
|
50
|
-
expect(container === null || container === void 0 ? void 0 : container.classList.contains('list')).to.be.false;
|
|
51
|
-
});
|
|
52
|
-
it('should render correctly in list mode', async () => {
|
|
53
|
-
var _a;
|
|
46
|
+
></text-snippet-block>`);
|
|
47
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
48
|
+
// Applies the right container classes
|
|
49
|
+
expect(container === null || container === void 0 ? void 0 : container.classList.contains('grid')).to.be.true;
|
|
50
|
+
expect(container === null || container === void 0 ? void 0 : container.classList.contains('list')).to.be.false;
|
|
51
|
+
});
|
|
52
|
+
it('should render correctly in list mode', async () => {
|
|
53
|
+
var _a;
|
|
54
54
|
const el = await fixture(html `<text-snippet-block
|
|
55
55
|
viewsize="list"
|
|
56
56
|
.snippets=${['text']}
|
|
57
|
-
></text-snippet-block>`);
|
|
58
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
59
|
-
// Applies the right container classes
|
|
60
|
-
expect(container === null || container === void 0 ? void 0 : container.classList.contains('list')).to.be.true;
|
|
61
|
-
expect(container === null || container === void 0 ? void 0 : container.classList.contains('grid')).to.be.false;
|
|
62
|
-
});
|
|
63
|
-
});
|
|
57
|
+
></text-snippet-block>`);
|
|
58
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.snippet-view');
|
|
59
|
+
// Applies the right container classes
|
|
60
|
+
expect(container === null || container === void 0 ? void 0 : container.classList.contains('list')).to.be.true;
|
|
61
|
+
expect(container === null || container === void 0 ? void 0 : container.classList.contains('grid')).to.be.false;
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
64
|
//# sourceMappingURL=text-snippet-block.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/grid/tile-stats';
|
|
1
|
+
import '../src/tiles/grid/tile-stats';
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/tiles/grid/tile-stats';
|
|
5
|
-
describe('Tile Stats', () => {
|
|
6
|
-
it('should render initial component', async () => {
|
|
7
|
-
var _a, _b;
|
|
8
|
-
const el = await fixture(html `<tile-stats></tile-stats>`);
|
|
9
|
-
const itemStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-stats');
|
|
10
|
-
const statsRow = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
|
|
11
|
-
const statsRowCount = statsRow === null || statsRow === void 0 ? void 0 : statsRow.childElementCount;
|
|
12
|
-
expect(itemStats).to.exist;
|
|
13
|
-
expect(statsRow).to.exist;
|
|
14
|
-
expect(statsRowCount).to.equal(4);
|
|
15
|
-
});
|
|
16
|
-
it('should render component with value', async () => {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/tiles/grid/tile-stats';
|
|
5
|
+
describe('Tile Stats', () => {
|
|
6
|
+
it('should render initial component', async () => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const el = await fixture(html `<tile-stats></tile-stats>`);
|
|
9
|
+
const itemStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-stats');
|
|
10
|
+
const statsRow = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
|
|
11
|
+
const statsRowCount = statsRow === null || statsRow === void 0 ? void 0 : statsRow.childElementCount;
|
|
12
|
+
expect(itemStats).to.exist;
|
|
13
|
+
expect(statsRow).to.exist;
|
|
14
|
+
expect(statsRowCount).to.equal(4);
|
|
15
|
+
});
|
|
16
|
+
it('should render component with value', async () => {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
18
18
|
const el = await fixture(html `
|
|
19
19
|
<tile-stats
|
|
20
20
|
.mediatype=${'account'}
|
|
@@ -23,20 +23,20 @@ describe('Tile Stats', () => {
|
|
|
23
23
|
.commentCount=${3}
|
|
24
24
|
>
|
|
25
25
|
</tile-stats>
|
|
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
|
-
});
|
|
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
|
+
});
|
|
42
42
|
//# sourceMappingURL=tile-stats.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../../src/tiles/grid/account-tile';
|
|
1
|
+
import '../../../src/tiles/grid/account-tile';
|