@internetarchive/collection-browser 0.3.8 → 0.3.9
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 +48 -48
- package/dist/src/app-root.js +258 -258
- 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 +278 -278
- package/dist/src/collection-browser.js +1105 -1105
- 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 -76
- package/dist/src/collection-facets/more-facets-content.js +353 -353
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +192 -192
- package/dist/src/collection-facets.d.ts +77 -77
- package/dist/src/collection-facets.js +388 -388
- package/dist/src/empty-placeholder.d.ts +11 -11
- package/dist/src/empty-placeholder.js +42 -42
- 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 +103 -103
- package/dist/src/models.js +117 -117
- package/dist/src/restoration-state-handler.d.ts +46 -46
- package/dist/src/restoration-state-handler.js +230 -230
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
- package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
- 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-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 +107 -107
- package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
- 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 +8 -8
- package/dist/src/tiles/grid/account-tile.js +20 -20
- package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
- package/dist/src/tiles/grid/collection-tile.js +23 -23
- package/dist/src/tiles/grid/item-tile.d.ts +24 -24
- package/dist/src/tiles/grid/item-tile.js +87 -87
- package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
- package/dist/src/tiles/grid/tile-stats.js +40 -40
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +69 -69
- package/dist/src/tiles/item-image.d.ts +31 -31
- package/dist/src/tiles/item-image.js +103 -103
- 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 +21 -21
- package/dist/src/tiles/list/tile-list-compact.js +93 -93
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +280 -275
- 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 +7 -7
- package/dist/src/tiles/overlay/icon-overlay.js +30 -30
- package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/text-snippet-block.d.ts +29 -29
- package/dist/src/tiles/text-snippet-block.js +81 -81
- package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
- package/dist/src/tiles/tile-dispatcher.js +128 -128
- 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/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +575 -575
- 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.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +544 -544
- 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 +56 -56
- 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 +10 -10
- package/dist/test/mocks/mock-search-responses.js +271 -271
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +36 -36
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +126 -126
- 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 +113 -113
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +41 -41
- 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/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +107 -107
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +136 -92
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- 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/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/tiles/list/tile-list.ts +12 -5
- package/test/tiles/list/tile-list.test.ts +51 -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
|
-
import '../../src/collection-facets/facets-template';
|
|
1
|
+
import '../../src/collection-facets/facets-template';
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
-
import { html } from 'lit';
|
|
3
|
-
import '../../src/collection-facets/facets-template';
|
|
4
|
-
const facetGroup = {
|
|
5
|
-
title: 'Media Type',
|
|
6
|
-
key: 'mediatype',
|
|
7
|
-
buckets: [
|
|
8
|
-
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
9
|
-
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
10
|
-
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
11
|
-
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
12
|
-
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
13
|
-
],
|
|
14
|
-
};
|
|
15
|
-
describe('Render facets', () => {
|
|
16
|
-
it('should render more facets template', async () => {
|
|
17
|
-
var _a;
|
|
18
|
-
const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
|
|
19
|
-
await el.updateComplete;
|
|
20
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row')).to.exist;
|
|
21
|
-
});
|
|
22
|
-
it('facets render on page', async () => {
|
|
23
|
-
var _a;
|
|
1
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import '../../src/collection-facets/facets-template';
|
|
4
|
+
const facetGroup = {
|
|
5
|
+
title: 'Media Type',
|
|
6
|
+
key: 'mediatype',
|
|
7
|
+
buckets: [
|
|
8
|
+
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
9
|
+
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
10
|
+
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
11
|
+
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
12
|
+
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
13
|
+
],
|
|
14
|
+
};
|
|
15
|
+
describe('Render facets', () => {
|
|
16
|
+
it('should render more facets template', async () => {
|
|
17
|
+
var _a;
|
|
18
|
+
const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
|
|
19
|
+
await el.updateComplete;
|
|
20
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row')).to.exist;
|
|
21
|
+
});
|
|
22
|
+
it('facets render on page', async () => {
|
|
23
|
+
var _a;
|
|
24
24
|
const el = await fixture(html `<facets-template
|
|
25
25
|
.facetGroup=${facetGroup}
|
|
26
26
|
.renderOn=${'page'}
|
|
27
|
-
></facets-template>`);
|
|
28
|
-
await el.updateComplete;
|
|
29
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
|
|
30
|
-
});
|
|
31
|
-
it('facets render on modal', async () => {
|
|
32
|
-
var _a;
|
|
27
|
+
></facets-template>`);
|
|
28
|
+
await el.updateComplete;
|
|
29
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
|
|
30
|
+
});
|
|
31
|
+
it('facets render on modal', async () => {
|
|
32
|
+
var _a;
|
|
33
33
|
const el = await fixture(html `<facets-template
|
|
34
34
|
.facetGroup=${facetGroup}
|
|
35
35
|
.renderOn=${'modal'}
|
|
36
|
-
></facets-template>`);
|
|
37
|
-
await el.updateComplete;
|
|
38
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
|
|
39
|
-
});
|
|
40
|
-
it('find facet-title and facet-count for particular facet group', async () => {
|
|
41
|
-
var _a, _b, _c, _d;
|
|
42
|
-
const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
|
|
43
|
-
await el.updateComplete;
|
|
44
|
-
const facetInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
|
|
45
|
-
expect((_b = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-title')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal('audio');
|
|
46
|
-
expect((_d = (_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('1,001');
|
|
47
|
-
});
|
|
48
|
-
it('find the hidden facet item', async () => {
|
|
49
|
-
var _a;
|
|
50
|
-
const selectedFacets = { ...facetGroup };
|
|
51
|
-
selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype
|
|
36
|
+
></facets-template>`);
|
|
37
|
+
await el.updateComplete;
|
|
38
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
|
|
39
|
+
});
|
|
40
|
+
it('find facet-title and facet-count for particular facet group', async () => {
|
|
41
|
+
var _a, _b, _c, _d;
|
|
42
|
+
const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
|
|
43
|
+
await el.updateComplete;
|
|
44
|
+
const facetInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
|
|
45
|
+
expect((_b = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-title')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal('audio');
|
|
46
|
+
expect((_d = (_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('1,001');
|
|
47
|
+
});
|
|
48
|
+
it('find the hidden facet item', async () => {
|
|
49
|
+
var _a;
|
|
50
|
+
const selectedFacets = { ...facetGroup };
|
|
51
|
+
selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype
|
|
52
52
|
const el = await fixture(html `<facets-template
|
|
53
53
|
.facetGroup=${facetGroup}
|
|
54
54
|
.selectedFacets=${selectedFacets}
|
|
55
|
-
></facets-template>`);
|
|
56
|
-
await el.updateComplete;
|
|
57
|
-
const hiddenFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
|
|
58
|
-
// check title attribute for 'texts' mediatype
|
|
59
|
-
expect(hiddenFacet === null || hiddenFacet === void 0 ? void 0 : hiddenFacet.getAttribute('title')).equal('Unhide mediatype: texts');
|
|
60
|
-
});
|
|
61
|
-
it('find the selected facet item', async () => {
|
|
62
|
-
var _a;
|
|
63
|
-
const selectedFacets = { ...facetGroup };
|
|
64
|
-
selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype
|
|
55
|
+
></facets-template>`);
|
|
56
|
+
await el.updateComplete;
|
|
57
|
+
const hiddenFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
|
|
58
|
+
// check title attribute for 'texts' mediatype
|
|
59
|
+
expect(hiddenFacet === null || hiddenFacet === void 0 ? void 0 : hiddenFacet.getAttribute('title')).equal('Unhide mediatype: texts');
|
|
60
|
+
});
|
|
61
|
+
it('find the selected facet item', async () => {
|
|
62
|
+
var _a;
|
|
63
|
+
const selectedFacets = { ...facetGroup };
|
|
64
|
+
selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype
|
|
65
65
|
const el = await fixture(html `<facets-template
|
|
66
66
|
.facetGroup=${facetGroup}
|
|
67
67
|
.selectedFacets=${selectedFacets}
|
|
68
|
-
></facets-template>`);
|
|
69
|
-
await el.updateComplete;
|
|
70
|
-
const selectedFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
|
|
71
|
-
// check title attribute for 'movies' mediatype
|
|
72
|
-
expect(selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.getAttribute('title')).equal('Hide mediatype: movies');
|
|
73
|
-
});
|
|
74
|
-
});
|
|
68
|
+
></facets-template>`);
|
|
69
|
+
await el.updateComplete;
|
|
70
|
+
const selectedFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
|
|
71
|
+
// check title attribute for 'movies' mediatype
|
|
72
|
+
expect(selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.getAttribute('title')).equal('Hide mediatype: movies');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
75
|
//# sourceMappingURL=facets-template.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../src/collection-facets/more-facets-content';
|
|
1
|
+
import '../../src/collection-facets/more-facets-content';
|
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import { Aggregation } from '@internetarchive/search-service';
|
|
5
|
-
import '../../src/collection-facets/more-facets-content';
|
|
6
|
-
import { MockSearchService } from '../mocks/mock-search-service';
|
|
7
|
-
import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
|
|
8
|
-
const selectedFacetsGroup = {
|
|
9
|
-
title: 'Media Type',
|
|
10
|
-
key: 'mediatype',
|
|
11
|
-
buckets: [
|
|
12
|
-
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
13
|
-
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
14
|
-
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
15
|
-
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
16
|
-
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
17
|
-
],
|
|
18
|
-
};
|
|
19
|
-
const aggregations = {
|
|
20
|
-
collection: new Aggregation({
|
|
21
|
-
buckets: [
|
|
22
|
-
{
|
|
23
|
-
key: 'foo',
|
|
24
|
-
doc_count: 5,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
}),
|
|
28
|
-
};
|
|
29
|
-
describe('More facets content', () => {
|
|
30
|
-
it('should render more facets template', async () => {
|
|
31
|
-
var _a;
|
|
32
|
-
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
33
|
-
el.facetsLoading = false;
|
|
34
|
-
await el.updateComplete;
|
|
35
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
|
|
36
|
-
});
|
|
37
|
-
it('should render more facets loader template', async () => {
|
|
38
|
-
var _a;
|
|
39
|
-
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
40
|
-
el.facetsLoading = true;
|
|
41
|
-
await el.updateComplete;
|
|
42
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
|
|
43
|
-
});
|
|
44
|
-
it('should render pagination for more facets', async () => {
|
|
45
|
-
var _a;
|
|
46
|
-
const searchService = new MockSearchService();
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { Aggregation } from '@internetarchive/search-service';
|
|
5
|
+
import '../../src/collection-facets/more-facets-content';
|
|
6
|
+
import { MockSearchService } from '../mocks/mock-search-service';
|
|
7
|
+
import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
|
|
8
|
+
const selectedFacetsGroup = {
|
|
9
|
+
title: 'Media Type',
|
|
10
|
+
key: 'mediatype',
|
|
11
|
+
buckets: [
|
|
12
|
+
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
13
|
+
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
14
|
+
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
15
|
+
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
16
|
+
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
const aggregations = {
|
|
20
|
+
collection: new Aggregation({
|
|
21
|
+
buckets: [
|
|
22
|
+
{
|
|
23
|
+
key: 'foo',
|
|
24
|
+
doc_count: 5,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
describe('More facets content', () => {
|
|
30
|
+
it('should render more facets template', async () => {
|
|
31
|
+
var _a;
|
|
32
|
+
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
33
|
+
el.facetsLoading = false;
|
|
34
|
+
await el.updateComplete;
|
|
35
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
|
|
36
|
+
});
|
|
37
|
+
it('should render more facets loader template', async () => {
|
|
38
|
+
var _a;
|
|
39
|
+
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
40
|
+
el.facetsLoading = true;
|
|
41
|
+
await el.updateComplete;
|
|
42
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
|
|
43
|
+
});
|
|
44
|
+
it('should render pagination for more facets', async () => {
|
|
45
|
+
var _a;
|
|
46
|
+
const searchService = new MockSearchService();
|
|
47
47
|
const el = await fixture(html `<more-facets-content
|
|
48
48
|
.searchService=${searchService}
|
|
49
|
-
></more-facets-content>`);
|
|
50
|
-
el.facetKey = 'mediatype';
|
|
51
|
-
el.facetsLoading = false;
|
|
52
|
-
el.paginationSize = 6;
|
|
53
|
-
await el.updateComplete;
|
|
54
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
|
|
55
|
-
});
|
|
56
|
-
it('query for more facets content using search service', async () => {
|
|
57
|
-
var _a;
|
|
58
|
-
const searchService = new MockSearchService();
|
|
49
|
+
></more-facets-content>`);
|
|
50
|
+
el.facetKey = 'mediatype';
|
|
51
|
+
el.facetsLoading = false;
|
|
52
|
+
el.paginationSize = 6;
|
|
53
|
+
await el.updateComplete;
|
|
54
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
|
|
55
|
+
});
|
|
56
|
+
it('query for more facets content using search service', async () => {
|
|
57
|
+
var _a;
|
|
58
|
+
const searchService = new MockSearchService();
|
|
59
59
|
const el = await fixture(html `<more-facets-content
|
|
60
60
|
.searchService=${searchService}
|
|
61
|
-
></more-facets-content>`);
|
|
62
|
-
el.facetKey = 'collection';
|
|
63
|
-
el.fullQuery = 'title:hello';
|
|
64
|
-
await el.updateComplete;
|
|
65
|
-
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
66
|
-
});
|
|
67
|
-
it('filter raw selectedFacets object', async () => {
|
|
68
|
-
var _a;
|
|
69
|
-
const searchService = new MockSearchService();
|
|
61
|
+
></more-facets-content>`);
|
|
62
|
+
el.facetKey = 'collection';
|
|
63
|
+
el.fullQuery = 'title:hello';
|
|
64
|
+
await el.updateComplete;
|
|
65
|
+
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
66
|
+
});
|
|
67
|
+
it('filter raw selectedFacets object', async () => {
|
|
68
|
+
var _a;
|
|
69
|
+
const searchService = new MockSearchService();
|
|
70
70
|
const el = await fixture(html `<more-facets-content
|
|
71
71
|
.searchService=${searchService}
|
|
72
72
|
.selectedFacets=${selectedFacetsGroup}
|
|
73
|
-
></more-facets-content>`);
|
|
74
|
-
el.facetKey = 'collection';
|
|
75
|
-
el.fullQuery = 'title:hello';
|
|
76
|
-
await el.updateComplete;
|
|
77
|
-
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
78
|
-
});
|
|
79
|
-
it('combine selectedFacets and aggregationFacets and render on modal', async () => {
|
|
80
|
-
var _a;
|
|
81
|
-
const searchService = new MockSearchService();
|
|
73
|
+
></more-facets-content>`);
|
|
74
|
+
el.facetKey = 'collection';
|
|
75
|
+
el.fullQuery = 'title:hello';
|
|
76
|
+
await el.updateComplete;
|
|
77
|
+
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
78
|
+
});
|
|
79
|
+
it('combine selectedFacets and aggregationFacets and render on modal', async () => {
|
|
80
|
+
var _a;
|
|
81
|
+
const searchService = new MockSearchService();
|
|
82
82
|
const el = await fixture(html `<more-facets-content
|
|
83
83
|
.searchService=${searchService}
|
|
84
84
|
.selectedFacets=${selectedFacetsGroup}
|
|
85
85
|
.aggregations=${aggregations}
|
|
86
|
-
></more-facets-content>`);
|
|
87
|
-
await el.updateComplete;
|
|
88
|
-
expect(el.facetGroupTitle).to.equal('Collection');
|
|
89
|
-
const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
|
|
90
|
-
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
|
|
91
|
-
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
|
|
92
|
-
const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
|
|
93
|
-
expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
|
|
94
|
-
expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
|
|
95
|
-
});
|
|
96
|
-
it('cancel button clicked event', async () => {
|
|
97
|
-
var _a;
|
|
98
|
-
const mockAnalyticsHandler = new MockAnalyticsHandler();
|
|
86
|
+
></more-facets-content>`);
|
|
87
|
+
await el.updateComplete;
|
|
88
|
+
expect(el.facetGroupTitle).to.equal('Collection');
|
|
89
|
+
const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
|
|
90
|
+
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
|
|
91
|
+
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
|
|
92
|
+
const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
|
|
93
|
+
expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
|
|
94
|
+
expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
|
|
95
|
+
});
|
|
96
|
+
it('cancel button clicked event', async () => {
|
|
97
|
+
var _a;
|
|
98
|
+
const mockAnalyticsHandler = new MockAnalyticsHandler();
|
|
99
99
|
const el = await fixture(html `<more-facets-content
|
|
100
100
|
.analyticsHandler=${mockAnalyticsHandler}
|
|
101
|
-
></more-facets-content>`);
|
|
102
|
-
el.facetsLoading = false;
|
|
103
|
-
el.paginationSize = 5;
|
|
104
|
-
await el.updateComplete;
|
|
105
|
-
// select cancel button
|
|
106
|
-
const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
|
|
107
|
-
cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
|
|
108
|
-
expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
|
|
109
|
-
expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
|
|
110
|
-
expect(mockAnalyticsHandler.callLabel).to.equal('undefined');
|
|
111
|
-
});
|
|
112
|
-
it('facet apply button clicked event', async () => {
|
|
113
|
-
var _a;
|
|
114
|
-
const mockAnalyticsHandler = new MockAnalyticsHandler();
|
|
101
|
+
></more-facets-content>`);
|
|
102
|
+
el.facetsLoading = false;
|
|
103
|
+
el.paginationSize = 5;
|
|
104
|
+
await el.updateComplete;
|
|
105
|
+
// select cancel button
|
|
106
|
+
const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
|
|
107
|
+
cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
|
|
108
|
+
expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
|
|
109
|
+
expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
|
|
110
|
+
expect(mockAnalyticsHandler.callLabel).to.equal('undefined');
|
|
111
|
+
});
|
|
112
|
+
it('facet apply button clicked event', async () => {
|
|
113
|
+
var _a;
|
|
114
|
+
const mockAnalyticsHandler = new MockAnalyticsHandler();
|
|
115
115
|
const el = await fixture(html `<more-facets-content
|
|
116
116
|
.analyticsHandler=${mockAnalyticsHandler}
|
|
117
|
-
></more-facets-content>`);
|
|
118
|
-
el.facetsLoading = false;
|
|
119
|
-
el.paginationSize = 5;
|
|
120
|
-
el.facetKey = 'collection';
|
|
121
|
-
await el.updateComplete;
|
|
122
|
-
// select submit button
|
|
123
|
-
const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
|
|
124
|
-
submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
|
|
125
|
-
expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
|
|
126
|
-
expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
|
|
127
|
-
expect(mockAnalyticsHandler.callLabel).to.equal('collection');
|
|
128
|
-
});
|
|
129
|
-
});
|
|
117
|
+
></more-facets-content>`);
|
|
118
|
+
el.facetsLoading = false;
|
|
119
|
+
el.paginationSize = 5;
|
|
120
|
+
el.facetKey = 'collection';
|
|
121
|
+
await el.updateComplete;
|
|
122
|
+
// select submit button
|
|
123
|
+
const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
|
|
124
|
+
submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
|
|
125
|
+
expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
|
|
126
|
+
expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
|
|
127
|
+
expect(mockAnalyticsHandler.callLabel).to.equal('collection');
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
130
|
//# sourceMappingURL=more-facets-content.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../src/collection-facets/more-facets-pagination';
|
|
1
|
+
import '../../src/collection-facets/more-facets-pagination';
|