@internetarchive/collection-browser 0.3.1 → 0.3.2-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +43 -43
- package/dist/src/app-root.js +233 -233
- 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 +242 -236
- package/dist/src/collection-browser.js +1411 -1406
- package/dist/src/collection-browser.js.map +1 -1
- 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 +74 -74
- package/dist/src/collection-facets/more-facets-content.js +330 -330
- 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 +73 -71
- package/dist/src/collection-facets.js +507 -496
- package/dist/src/collection-facets.js.map +1 -1
- 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 +97 -97
- package/dist/src/models.js +100 -100
- package/dist/src/restoration-state-handler.d.ts +45 -45
- package/dist/src/restoration-state-handler.js +220 -220
- 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 +35 -35
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- 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 +20 -20
- package/dist/src/tiles/list/tile-list-compact.js +87 -87
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +264 -264
- 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 +31 -31
- 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 +18 -18
- package/dist/src/utils/analytics-events.js +20 -20
- 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 +318 -318
- 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 +91 -91
- 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 +423 -387
- package/dist/test/collection-facets.test.js.map +1 -1
- 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/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 +5 -5
- package/dist/test/mocks/mock-search-responses.js +103 -103
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +25 -25
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +117 -117
- 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.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +36 -36
- 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 +115 -115
- package/renovate.json +6 -6
- package/src/collection-browser.ts +1539 -1530
- package/src/collection-facets.ts +582 -569
- package/test/collection-facets.test.ts +556 -510
- 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 perticular facet group', async () => {
|
|
41
|
-
var _a, _b, _c;
|
|
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).equal('audio');
|
|
46
|
-
expect((_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent).equal('1001');
|
|
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 perticular facet group', async () => {
|
|
41
|
+
var _a, _b, _c;
|
|
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).equal('audio');
|
|
46
|
+
expect((_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent).equal('1001');
|
|
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,105 +1,105 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture, oneEvent } 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
|
-
const selectedFacetsGroup = {
|
|
8
|
-
title: 'Media Type',
|
|
9
|
-
key: 'mediatype',
|
|
10
|
-
buckets: [
|
|
11
|
-
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
12
|
-
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
13
|
-
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
14
|
-
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
15
|
-
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
16
|
-
],
|
|
17
|
-
};
|
|
18
|
-
const aggregations = {
|
|
19
|
-
collection: new Aggregation({
|
|
20
|
-
buckets: [
|
|
21
|
-
{
|
|
22
|
-
key: 'foo',
|
|
23
|
-
doc_count: 5,
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
}),
|
|
27
|
-
};
|
|
28
|
-
describe('More facets content', () => {
|
|
29
|
-
it('should render more facets template', async () => {
|
|
30
|
-
var _a;
|
|
31
|
-
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
32
|
-
el.facetsLoading = false;
|
|
33
|
-
await el.updateComplete;
|
|
34
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
|
|
35
|
-
});
|
|
36
|
-
it('should render more facets loader template', async () => {
|
|
37
|
-
var _a;
|
|
38
|
-
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
39
|
-
el.facetsLoading = true;
|
|
40
|
-
await el.updateComplete;
|
|
41
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
|
|
42
|
-
});
|
|
43
|
-
it('should render pagination for more facets', async () => {
|
|
44
|
-
var _a;
|
|
45
|
-
const searchService = new MockSearchService();
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture, oneEvent } 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
|
+
const selectedFacetsGroup = {
|
|
8
|
+
title: 'Media Type',
|
|
9
|
+
key: 'mediatype',
|
|
10
|
+
buckets: [
|
|
11
|
+
{ displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
|
|
12
|
+
{ displayText: 'movies', key: 'movies', count: 901, state: 'none' },
|
|
13
|
+
{ displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
|
|
14
|
+
{ displayText: 'data', key: 'data', count: 230, state: 'none' },
|
|
15
|
+
{ displayText: 'web', key: 'web', count: 453, state: 'none' },
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
const aggregations = {
|
|
19
|
+
collection: new Aggregation({
|
|
20
|
+
buckets: [
|
|
21
|
+
{
|
|
22
|
+
key: 'foo',
|
|
23
|
+
doc_count: 5,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
describe('More facets content', () => {
|
|
29
|
+
it('should render more facets template', async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
32
|
+
el.facetsLoading = false;
|
|
33
|
+
await el.updateComplete;
|
|
34
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
|
|
35
|
+
});
|
|
36
|
+
it('should render more facets loader template', async () => {
|
|
37
|
+
var _a;
|
|
38
|
+
const el = await fixture(html `<more-facets-content></more-facets-content>`);
|
|
39
|
+
el.facetsLoading = true;
|
|
40
|
+
await el.updateComplete;
|
|
41
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
|
|
42
|
+
});
|
|
43
|
+
it('should render pagination for more facets', async () => {
|
|
44
|
+
var _a;
|
|
45
|
+
const searchService = new MockSearchService();
|
|
46
46
|
const el = await fixture(html `<more-facets-content
|
|
47
47
|
.searchService=${searchService}
|
|
48
|
-
></more-facets-content>`);
|
|
49
|
-
el.facetKey = 'mediatype';
|
|
50
|
-
el.facetsLoading = false;
|
|
51
|
-
el.paginationSize = 6;
|
|
52
|
-
await el.updateComplete;
|
|
53
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
|
|
54
|
-
});
|
|
55
|
-
it('query for more facets content using search service', async () => {
|
|
56
|
-
var _a;
|
|
57
|
-
const searchService = new MockSearchService();
|
|
48
|
+
></more-facets-content>`);
|
|
49
|
+
el.facetKey = 'mediatype';
|
|
50
|
+
el.facetsLoading = false;
|
|
51
|
+
el.paginationSize = 6;
|
|
52
|
+
await el.updateComplete;
|
|
53
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
|
|
54
|
+
});
|
|
55
|
+
it('query for more facets content using search service', async () => {
|
|
56
|
+
var _a;
|
|
57
|
+
const searchService = new MockSearchService();
|
|
58
58
|
const el = await fixture(html `<more-facets-content
|
|
59
59
|
.searchService=${searchService}
|
|
60
|
-
></more-facets-content>`);
|
|
61
|
-
el.facetKey = 'collection';
|
|
62
|
-
el.fullQuery = 'title:hello';
|
|
63
|
-
await el.updateComplete;
|
|
64
|
-
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
65
|
-
});
|
|
66
|
-
it('filter raw selectedFacets object', async () => {
|
|
67
|
-
var _a;
|
|
68
|
-
const searchService = new MockSearchService();
|
|
60
|
+
></more-facets-content>`);
|
|
61
|
+
el.facetKey = 'collection';
|
|
62
|
+
el.fullQuery = 'title:hello';
|
|
63
|
+
await el.updateComplete;
|
|
64
|
+
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
65
|
+
});
|
|
66
|
+
it('filter raw selectedFacets object', async () => {
|
|
67
|
+
var _a;
|
|
68
|
+
const searchService = new MockSearchService();
|
|
69
69
|
const el = await fixture(html `<more-facets-content
|
|
70
70
|
.searchService=${searchService}
|
|
71
71
|
.selectedFacets=${selectedFacetsGroup}
|
|
72
|
-
></more-facets-content>`);
|
|
73
|
-
el.facetKey = 'collection';
|
|
74
|
-
el.fullQuery = 'title:hello';
|
|
75
|
-
await el.updateComplete;
|
|
76
|
-
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
77
|
-
});
|
|
78
|
-
it('combine selectedFacets and aggregationFacets and render on modal', async () => {
|
|
79
|
-
var _a;
|
|
80
|
-
const searchService = new MockSearchService();
|
|
72
|
+
></more-facets-content>`);
|
|
73
|
+
el.facetKey = 'collection';
|
|
74
|
+
el.fullQuery = 'title:hello';
|
|
75
|
+
await el.updateComplete;
|
|
76
|
+
expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
|
|
77
|
+
});
|
|
78
|
+
it('combine selectedFacets and aggregationFacets and render on modal', async () => {
|
|
79
|
+
var _a;
|
|
80
|
+
const searchService = new MockSearchService();
|
|
81
81
|
const el = await fixture(html `<more-facets-content
|
|
82
82
|
.searchService=${searchService}
|
|
83
83
|
.selectedFacets=${selectedFacetsGroup}
|
|
84
84
|
.aggregations=${aggregations}
|
|
85
|
-
></more-facets-content>`);
|
|
86
|
-
await el.updateComplete;
|
|
87
|
-
expect(el.facetGroupTitle).to.equal('Collection');
|
|
88
|
-
const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
|
|
89
|
-
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
|
|
90
|
-
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
|
|
91
|
-
const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
|
|
92
|
-
expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
|
|
93
|
-
expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
|
|
94
|
-
});
|
|
95
|
-
it('page number clicked event', async () => {
|
|
96
|
-
const searchService = new MockSearchService();
|
|
85
|
+
></more-facets-content>`);
|
|
86
|
+
await el.updateComplete;
|
|
87
|
+
expect(el.facetGroupTitle).to.equal('Collection');
|
|
88
|
+
const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
|
|
89
|
+
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
|
|
90
|
+
expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
|
|
91
|
+
const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
|
|
92
|
+
expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
|
|
93
|
+
expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
|
|
94
|
+
});
|
|
95
|
+
it('page number clicked event', async () => {
|
|
96
|
+
const searchService = new MockSearchService();
|
|
97
97
|
const el = await fixture(html `<more-facets-content
|
|
98
98
|
.searchService=${searchService}
|
|
99
|
-
></more-facets-content>`);
|
|
100
|
-
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
101
|
-
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
102
|
-
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
99
|
+
></more-facets-content>`);
|
|
100
|
+
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
101
|
+
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
102
|
+
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
105
|
//# 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';
|
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture, oneEvent } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import sinon from 'sinon';
|
|
5
|
-
import '../../src/collection-facets/more-facets-pagination';
|
|
6
|
-
afterEach(() => {
|
|
7
|
-
sinon.restore();
|
|
8
|
-
});
|
|
9
|
-
describe('More facets pagination', () => {
|
|
10
|
-
describe('5 pages or less', () => {
|
|
11
|
-
it('shows all pages', async () => {
|
|
12
|
-
var _a;
|
|
13
|
-
const el = await fixture(html `<more-facets-pagination .size=${5}></more-facets-pagination>`);
|
|
14
|
-
await el.updateComplete;
|
|
15
|
-
const pageButtons = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button[data-page]');
|
|
16
|
-
expect(pageButtons.length).to.greaterThan(0);
|
|
17
|
-
pageButtons.forEach((button, index) => {
|
|
18
|
-
expect(button.textContent).to.contain(index + 1);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
it('should render pagination template', async () => {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
const el = await fixture(html `<more-facets-pagination .size=${10}></more-facets-pagination>`);
|
|
25
|
-
await el.updateComplete;
|
|
26
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination')).to.exist;
|
|
27
|
-
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.arrow-icon')).to.exist;
|
|
28
|
-
});
|
|
29
|
-
it('should render page numbers', async () => {
|
|
30
|
-
var _a;
|
|
31
|
-
const el = await fixture(html `<more-facets-pagination .size=${3}></more-facets-pagination>`);
|
|
32
|
-
await el.updateComplete;
|
|
33
|
-
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
34
|
-
expect(pageNumberElement).to.exist;
|
|
35
|
-
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button').length).to.equal(3);
|
|
36
|
-
});
|
|
37
|
-
it('check current page and total pages', async () => {
|
|
38
|
-
var _a, _b;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture, oneEvent } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import sinon from 'sinon';
|
|
5
|
+
import '../../src/collection-facets/more-facets-pagination';
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
sinon.restore();
|
|
8
|
+
});
|
|
9
|
+
describe('More facets pagination', () => {
|
|
10
|
+
describe('5 pages or less', () => {
|
|
11
|
+
it('shows all pages', async () => {
|
|
12
|
+
var _a;
|
|
13
|
+
const el = await fixture(html `<more-facets-pagination .size=${5}></more-facets-pagination>`);
|
|
14
|
+
await el.updateComplete;
|
|
15
|
+
const pageButtons = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button[data-page]');
|
|
16
|
+
expect(pageButtons.length).to.greaterThan(0);
|
|
17
|
+
pageButtons.forEach((button, index) => {
|
|
18
|
+
expect(button.textContent).to.contain(index + 1);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('should render pagination template', async () => {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
const el = await fixture(html `<more-facets-pagination .size=${10}></more-facets-pagination>`);
|
|
25
|
+
await el.updateComplete;
|
|
26
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination')).to.exist;
|
|
27
|
+
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.arrow-icon')).to.exist;
|
|
28
|
+
});
|
|
29
|
+
it('should render page numbers', async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const el = await fixture(html `<more-facets-pagination .size=${3}></more-facets-pagination>`);
|
|
32
|
+
await el.updateComplete;
|
|
33
|
+
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
34
|
+
expect(pageNumberElement).to.exist;
|
|
35
|
+
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button').length).to.equal(3);
|
|
36
|
+
});
|
|
37
|
+
it('check current page and total pages', async () => {
|
|
38
|
+
var _a, _b;
|
|
39
39
|
const el = await fixture(html `<more-facets-pagination
|
|
40
40
|
.size=${4}
|
|
41
41
|
.currentPage=${2}
|
|
42
|
-
></more-facets-pagination>`);
|
|
43
|
-
await el.updateComplete;
|
|
44
|
-
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
45
|
-
expect(pageNumberElement).to.exist;
|
|
46
|
-
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button')[1].classList.contains('current')).to.be.true;
|
|
47
|
-
expect((_b = el.pages) === null || _b === void 0 ? void 0 : _b.length).to.equal(4);
|
|
48
|
-
});
|
|
49
|
-
it('get page numbers based of size and currentPage', async () => {
|
|
50
|
-
var _a;
|
|
42
|
+
></more-facets-pagination>`);
|
|
43
|
+
await el.updateComplete;
|
|
44
|
+
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
45
|
+
expect(pageNumberElement).to.exist;
|
|
46
|
+
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button')[1].classList.contains('current')).to.be.true;
|
|
47
|
+
expect((_b = el.pages) === null || _b === void 0 ? void 0 : _b.length).to.equal(4);
|
|
48
|
+
});
|
|
49
|
+
it('get page numbers based of size and currentPage', async () => {
|
|
50
|
+
var _a;
|
|
51
51
|
const el = await fixture(html `<more-facets-pagination
|
|
52
52
|
.size=${4}
|
|
53
53
|
.currentPage=${2}
|
|
54
|
-
></more-facets-pagination>`);
|
|
55
|
-
await el.updateComplete;
|
|
56
|
-
expect((_a = el.pages) === null || _a === void 0 ? void 0 : _a.length).to.equal(4);
|
|
57
|
-
});
|
|
58
|
-
describe('Selecting a page', () => {
|
|
59
|
-
it('fires event', async () => {
|
|
60
|
-
const el = await fixture(html `<more-facets-pagination></more-facets-pagination>`);
|
|
61
|
-
await el.updateComplete;
|
|
62
|
-
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
63
|
-
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
64
|
-
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
65
|
-
});
|
|
66
|
-
it('sets off side effects with `onChange`', async () => {
|
|
67
|
-
var _a;
|
|
54
|
+
></more-facets-pagination>`);
|
|
55
|
+
await el.updateComplete;
|
|
56
|
+
expect((_a = el.pages) === null || _a === void 0 ? void 0 : _a.length).to.equal(4);
|
|
57
|
+
});
|
|
58
|
+
describe('Selecting a page', () => {
|
|
59
|
+
it('fires event', async () => {
|
|
60
|
+
const el = await fixture(html `<more-facets-pagination></more-facets-pagination>`);
|
|
61
|
+
await el.updateComplete;
|
|
62
|
+
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
63
|
+
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
64
|
+
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
65
|
+
});
|
|
66
|
+
it('sets off side effects with `onChange`', async () => {
|
|
67
|
+
var _a;
|
|
68
68
|
const el = await fixture(html `<more-facets-pagination
|
|
69
69
|
.size=${'10'}
|
|
70
70
|
.currentPage=${2}
|
|
71
|
-
></more-facets-pagination>`);
|
|
72
|
-
expect(el.currentPage).to.equal(2); // confirm current page
|
|
73
|
-
const fake1 = sinon.fake();
|
|
74
|
-
const fake2 = sinon.fake();
|
|
75
|
-
el.observePageCount = fake1;
|
|
76
|
-
el.emitPageClick = fake2;
|
|
77
|
-
// select first page button
|
|
78
|
-
const pageButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers > button');
|
|
79
|
-
// confirm button isn't selected
|
|
80
|
-
expect(pageButton.classList.contains('current')).to.be.false;
|
|
81
|
-
pageButton.click();
|
|
82
|
-
await el.updateComplete;
|
|
83
|
-
expect(fake1.callCount).to.equal(1);
|
|
84
|
-
expect(fake2.callCount).to.equal(1);
|
|
85
|
-
expect(el.currentPage).to.equal(1); // brings us back to currentPage
|
|
86
|
-
// confirm button is selected
|
|
87
|
-
expect(pageButton.classList.contains('current')).to.be.true;
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
describe('Using Arrows', () => {
|
|
91
|
-
it('going backwards', async () => {
|
|
92
|
-
var _a, _b;
|
|
71
|
+
></more-facets-pagination>`);
|
|
72
|
+
expect(el.currentPage).to.equal(2); // confirm current page
|
|
73
|
+
const fake1 = sinon.fake();
|
|
74
|
+
const fake2 = sinon.fake();
|
|
75
|
+
el.observePageCount = fake1;
|
|
76
|
+
el.emitPageClick = fake2;
|
|
77
|
+
// select first page button
|
|
78
|
+
const pageButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers > button');
|
|
79
|
+
// confirm button isn't selected
|
|
80
|
+
expect(pageButton.classList.contains('current')).to.be.false;
|
|
81
|
+
pageButton.click();
|
|
82
|
+
await el.updateComplete;
|
|
83
|
+
expect(fake1.callCount).to.equal(1);
|
|
84
|
+
expect(fake2.callCount).to.equal(1);
|
|
85
|
+
expect(el.currentPage).to.equal(1); // brings us back to currentPage
|
|
86
|
+
// confirm button is selected
|
|
87
|
+
expect(pageButton.classList.contains('current')).to.be.true;
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe('Using Arrows', () => {
|
|
91
|
+
it('going backwards', async () => {
|
|
92
|
+
var _a, _b;
|
|
93
93
|
const el = await fixture(html `<more-facets-pagination
|
|
94
94
|
.size=${'10'}
|
|
95
95
|
.currentPage=${2}
|
|
96
|
-
></more-facets-pagination>`);
|
|
97
|
-
expect(el.currentPage).to.equal(2); // confirm current page
|
|
98
|
-
const fake1 = sinon.fake();
|
|
99
|
-
const fake2 = sinon.fake();
|
|
100
|
-
el.observePageCount = fake1;
|
|
101
|
-
el.emitPageClick = fake2;
|
|
102
|
-
// select first page button
|
|
103
|
-
const rewindButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.rewind');
|
|
104
|
-
rewindButton.click();
|
|
105
|
-
await el.updateComplete;
|
|
106
|
-
expect(fake1.callCount).to.equal(1);
|
|
107
|
-
expect(fake2.callCount).to.equal(1);
|
|
108
|
-
expect(el.currentPage).to.equal(1); // brings us back 1 page
|
|
109
|
-
// confirm button is selected
|
|
110
|
-
expect(((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.page-numbers > button[data-page="1"]')).classList.contains('current')).to.be.true;
|
|
111
|
-
});
|
|
112
|
-
it('going forwards', async () => {
|
|
113
|
-
var _a;
|
|
96
|
+
></more-facets-pagination>`);
|
|
97
|
+
expect(el.currentPage).to.equal(2); // confirm current page
|
|
98
|
+
const fake1 = sinon.fake();
|
|
99
|
+
const fake2 = sinon.fake();
|
|
100
|
+
el.observePageCount = fake1;
|
|
101
|
+
el.emitPageClick = fake2;
|
|
102
|
+
// select first page button
|
|
103
|
+
const rewindButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.rewind');
|
|
104
|
+
rewindButton.click();
|
|
105
|
+
await el.updateComplete;
|
|
106
|
+
expect(fake1.callCount).to.equal(1);
|
|
107
|
+
expect(fake2.callCount).to.equal(1);
|
|
108
|
+
expect(el.currentPage).to.equal(1); // brings us back 1 page
|
|
109
|
+
// confirm button is selected
|
|
110
|
+
expect(((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.page-numbers > button[data-page="1"]')).classList.contains('current')).to.be.true;
|
|
111
|
+
});
|
|
112
|
+
it('going forwards', async () => {
|
|
113
|
+
var _a;
|
|
114
114
|
const el = await fixture(html `<more-facets-pagination
|
|
115
115
|
.size=${'10'}
|
|
116
116
|
.currentPage=${5}
|
|
117
|
-
></more-facets-pagination>`);
|
|
118
|
-
expect(el.currentPage).to.equal(5); // confirm current page
|
|
119
|
-
const fake1 = sinon.fake();
|
|
120
|
-
const fake2 = sinon.fake();
|
|
121
|
-
el.observePageCount = fake1;
|
|
122
|
-
el.emitPageClick = fake2;
|
|
123
|
-
// select first page button
|
|
124
|
-
const forwardButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.forward');
|
|
125
|
-
forwardButton.click();
|
|
126
|
-
await el.updateComplete;
|
|
127
|
-
expect(fake1.callCount).to.equal(1);
|
|
128
|
-
expect(fake2.callCount).to.equal(1);
|
|
129
|
-
expect(el.currentPage).to.equal(6); // brings us forward 1 page
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
117
|
+
></more-facets-pagination>`);
|
|
118
|
+
expect(el.currentPage).to.equal(5); // confirm current page
|
|
119
|
+
const fake1 = sinon.fake();
|
|
120
|
+
const fake2 = sinon.fake();
|
|
121
|
+
el.observePageCount = fake1;
|
|
122
|
+
el.emitPageClick = fake2;
|
|
123
|
+
// select first page button
|
|
124
|
+
const forwardButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.forward');
|
|
125
|
+
forwardButton.click();
|
|
126
|
+
await el.updateComplete;
|
|
127
|
+
expect(fake1.callCount).to.equal(1);
|
|
128
|
+
expect(fake2.callCount).to.equal(1);
|
|
129
|
+
expect(el.currentPage).to.equal(6); // brings us forward 1 page
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
133
|
//# sourceMappingURL=more-facets-pagination.test.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import '@internetarchive/modal-manager';
|
|
2
|
-
import '../src/collection-facets';
|
|
1
|
+
import '@internetarchive/modal-manager';
|
|
2
|
+
import '../src/collection-facets';
|