@internetarchive/collection-browser 0.3.0-alpha.5 → 0.3.0
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 -42
- package/dist/src/app-root.js +301 -241
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/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 +234 -234
- package/dist/src/collection-browser.js +1026 -1026
- package/dist/src/collection-facets/facets-template.d.ts +16 -16
- package/dist/src/collection-facets/facets-template.js +139 -131
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/facets-util.d.ts +10 -10
- package/dist/src/collection-facets/facets-util.js +19 -19
- package/dist/src/collection-facets/more-facets-content.d.ts +74 -84
- package/dist/src/collection-facets/more-facets-content.js +331 -352
- 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 +192 -192
- package/dist/src/collection-facets.d.ts +71 -71
- package/dist/src/collection-facets.js +330 -324
- 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 +89 -89
- package/dist/src/models.js +85 -85
- package/dist/src/restoration-state-handler.d.ts +45 -38
- package/dist/src/restoration-state-handler.js +219 -202
- package/dist/src/restoration-state-handler.js.map +1 -1
- 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 +263 -263
- 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 +75 -75
- 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 +316 -316
- 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/facets-util.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-util.test.js +12 -12
- 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 +182 -182
- 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 -0
- package/dist/test/restoration-state-handler.test.js +118 -0
- package/dist/test/restoration-state-handler.test.js.map +1 -0
- 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/app-root.ts +92 -31
- package/src/collection-facets/facets-template.ts +14 -6
- package/src/collection-facets/more-facets-content.ts +1 -25
- package/src/collection-facets.ts +9 -3
- package/src/restoration-state-handler.ts +45 -11
- package/test/restoration-state-handler.test.ts +176 -0
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,185 +1,185 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import sinon from 'sinon';
|
|
4
|
-
import { html } from 'lit';
|
|
5
|
-
import { Aggregation } from '@internetarchive/search-service';
|
|
6
|
-
import { ModalManager, } from '@internetarchive/modal-manager';
|
|
7
|
-
import '@internetarchive/modal-manager';
|
|
8
|
-
import '../src/collection-facets';
|
|
9
|
-
describe('Collection Facets', () => {
|
|
10
|
-
it('has loader', async () => {
|
|
11
|
-
var _a, _b, _c, _d;
|
|
12
|
-
const el = await fixture(html `<collection-facets ?facetsLoading=${true}></collection-facets>`);
|
|
13
|
-
expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container')) === null || _b === void 0 ? void 0 : _b.classList.contains('loading')).to.be.true;
|
|
14
|
-
el.facetsLoading = false;
|
|
15
|
-
await el.updateComplete;
|
|
16
|
-
expect((_d = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#container')) === null || _d === void 0 ? void 0 : _d.classList.contains('loading')).to.be.false;
|
|
17
|
-
});
|
|
18
|
-
it('renders aggregations as facets', async () => {
|
|
19
|
-
var _a, _b, _c, _d, _e;
|
|
20
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
21
|
-
const aggs = {
|
|
22
|
-
subject: new Aggregation({
|
|
23
|
-
buckets: [
|
|
24
|
-
{
|
|
25
|
-
key: 'foo',
|
|
26
|
-
doc_count: 5,
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
}),
|
|
30
|
-
};
|
|
31
|
-
el.aggregations = aggs;
|
|
32
|
-
await el.updateComplete;
|
|
33
|
-
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
34
|
-
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(1);
|
|
35
|
-
const titleFacetGroup = facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups[0];
|
|
36
|
-
const facetGroupHeader = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('h1');
|
|
37
|
-
expect((_b = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Subject');
|
|
38
|
-
const titleFacetRow = (_d = (_c = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.facet-row');
|
|
39
|
-
console.log(titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template'));
|
|
40
|
-
expect((_e = titleFacetRow === null || titleFacetRow === void 0 ? void 0 : titleFacetRow.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.satisfy((text) => /^foo\s*5$/.test(text));
|
|
41
|
-
});
|
|
42
|
-
it('renders multiple aggregation types', async () => {
|
|
43
|
-
var _a;
|
|
44
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
45
|
-
const aggs = {
|
|
46
|
-
subject: new Aggregation({
|
|
47
|
-
buckets: [
|
|
48
|
-
{
|
|
49
|
-
key: 'foo',
|
|
50
|
-
doc_count: 5,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
}),
|
|
54
|
-
mediatype: new Aggregation({
|
|
55
|
-
buckets: [
|
|
56
|
-
{
|
|
57
|
-
key: 'bar',
|
|
58
|
-
doc_count: 10,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
}),
|
|
62
|
-
};
|
|
63
|
-
el.aggregations = aggs;
|
|
64
|
-
await el.updateComplete;
|
|
65
|
-
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
66
|
-
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(2);
|
|
67
|
-
});
|
|
68
|
-
it('renders collection facets as links', async () => {
|
|
69
|
-
var _a, _b, _c, _d;
|
|
70
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
71
|
-
const aggs = {
|
|
72
|
-
collection: new Aggregation({
|
|
73
|
-
buckets: [
|
|
74
|
-
{
|
|
75
|
-
key: 'foo',
|
|
76
|
-
doc_count: 5,
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
}),
|
|
80
|
-
};
|
|
81
|
-
el.aggregations = aggs;
|
|
82
|
-
await el.updateComplete;
|
|
83
|
-
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
84
|
-
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.be.instanceOf(HTMLAnchorElement);
|
|
85
|
-
expect((_d = collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement) === null || _d === void 0 ? void 0 : _d.getAttribute('href')).to.equal('/details/foo');
|
|
86
|
-
});
|
|
87
|
-
it('renders non-collection facets without links', async () => {
|
|
88
|
-
var _a, _b, _c;
|
|
89
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
90
|
-
const aggs = {
|
|
91
|
-
subject: new Aggregation({
|
|
92
|
-
buckets: [
|
|
93
|
-
{
|
|
94
|
-
key: 'foo',
|
|
95
|
-
doc_count: 5,
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
}),
|
|
99
|
-
};
|
|
100
|
-
el.aggregations = aggs;
|
|
101
|
-
await el.updateComplete;
|
|
102
|
-
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
103
|
-
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.not.be.instanceOf(HTMLAnchorElement);
|
|
104
|
-
});
|
|
105
|
-
describe('More Facets', () => {
|
|
106
|
-
it('Does not render < allowedFacetCount', async () => {
|
|
107
|
-
var _a;
|
|
108
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
109
|
-
const aggs = {
|
|
110
|
-
subject: new Aggregation({
|
|
111
|
-
buckets: [
|
|
112
|
-
{
|
|
113
|
-
key: 'foo',
|
|
114
|
-
doc_count: 5,
|
|
115
|
-
},
|
|
116
|
-
],
|
|
117
|
-
}),
|
|
118
|
-
};
|
|
119
|
-
el.aggregations = aggs;
|
|
120
|
-
await el.updateComplete;
|
|
121
|
-
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
122
|
-
expect(moreLink).to.be.null;
|
|
123
|
-
});
|
|
124
|
-
it('Render More Facets', async () => {
|
|
125
|
-
var _a, _b;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import sinon from 'sinon';
|
|
4
|
+
import { html } from 'lit';
|
|
5
|
+
import { Aggregation } from '@internetarchive/search-service';
|
|
6
|
+
import { ModalManager, } from '@internetarchive/modal-manager';
|
|
7
|
+
import '@internetarchive/modal-manager';
|
|
8
|
+
import '../src/collection-facets';
|
|
9
|
+
describe('Collection Facets', () => {
|
|
10
|
+
it('has loader', async () => {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const el = await fixture(html `<collection-facets ?facetsLoading=${true}></collection-facets>`);
|
|
13
|
+
expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container')) === null || _b === void 0 ? void 0 : _b.classList.contains('loading')).to.be.true;
|
|
14
|
+
el.facetsLoading = false;
|
|
15
|
+
await el.updateComplete;
|
|
16
|
+
expect((_d = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#container')) === null || _d === void 0 ? void 0 : _d.classList.contains('loading')).to.be.false;
|
|
17
|
+
});
|
|
18
|
+
it('renders aggregations as facets', async () => {
|
|
19
|
+
var _a, _b, _c, _d, _e;
|
|
20
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
21
|
+
const aggs = {
|
|
22
|
+
subject: new Aggregation({
|
|
23
|
+
buckets: [
|
|
24
|
+
{
|
|
25
|
+
key: 'foo',
|
|
26
|
+
doc_count: 5,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
el.aggregations = aggs;
|
|
32
|
+
await el.updateComplete;
|
|
33
|
+
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
34
|
+
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(1);
|
|
35
|
+
const titleFacetGroup = facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups[0];
|
|
36
|
+
const facetGroupHeader = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('h1');
|
|
37
|
+
expect((_b = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Subject');
|
|
38
|
+
const titleFacetRow = (_d = (_c = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.facet-row');
|
|
39
|
+
console.log(titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template'));
|
|
40
|
+
expect((_e = titleFacetRow === null || titleFacetRow === void 0 ? void 0 : titleFacetRow.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.satisfy((text) => /^foo\s*5$/.test(text));
|
|
41
|
+
});
|
|
42
|
+
it('renders multiple aggregation types', async () => {
|
|
43
|
+
var _a;
|
|
44
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
45
|
+
const aggs = {
|
|
46
|
+
subject: new Aggregation({
|
|
47
|
+
buckets: [
|
|
48
|
+
{
|
|
49
|
+
key: 'foo',
|
|
50
|
+
doc_count: 5,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
}),
|
|
54
|
+
mediatype: new Aggregation({
|
|
55
|
+
buckets: [
|
|
56
|
+
{
|
|
57
|
+
key: 'bar',
|
|
58
|
+
doc_count: 10,
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
el.aggregations = aggs;
|
|
64
|
+
await el.updateComplete;
|
|
65
|
+
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
66
|
+
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(2);
|
|
67
|
+
});
|
|
68
|
+
it('renders collection facets as links', async () => {
|
|
69
|
+
var _a, _b, _c, _d;
|
|
70
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
71
|
+
const aggs = {
|
|
72
|
+
collection: new Aggregation({
|
|
73
|
+
buckets: [
|
|
74
|
+
{
|
|
75
|
+
key: 'foo',
|
|
76
|
+
doc_count: 5,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
el.aggregations = aggs;
|
|
82
|
+
await el.updateComplete;
|
|
83
|
+
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
84
|
+
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.be.instanceOf(HTMLAnchorElement);
|
|
85
|
+
expect((_d = collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement) === null || _d === void 0 ? void 0 : _d.getAttribute('href')).to.equal('/details/foo');
|
|
86
|
+
});
|
|
87
|
+
it('renders non-collection facets without links', async () => {
|
|
88
|
+
var _a, _b, _c;
|
|
89
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
90
|
+
const aggs = {
|
|
91
|
+
subject: new Aggregation({
|
|
92
|
+
buckets: [
|
|
93
|
+
{
|
|
94
|
+
key: 'foo',
|
|
95
|
+
doc_count: 5,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
el.aggregations = aggs;
|
|
101
|
+
await el.updateComplete;
|
|
102
|
+
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
103
|
+
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.not.be.instanceOf(HTMLAnchorElement);
|
|
104
|
+
});
|
|
105
|
+
describe('More Facets', () => {
|
|
106
|
+
it('Does not render < allowedFacetCount', async () => {
|
|
107
|
+
var _a;
|
|
108
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
109
|
+
const aggs = {
|
|
110
|
+
subject: new Aggregation({
|
|
111
|
+
buckets: [
|
|
112
|
+
{
|
|
113
|
+
key: 'foo',
|
|
114
|
+
doc_count: 5,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
}),
|
|
118
|
+
};
|
|
119
|
+
el.aggregations = aggs;
|
|
120
|
+
await el.updateComplete;
|
|
121
|
+
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
122
|
+
expect(moreLink).to.be.null;
|
|
123
|
+
});
|
|
124
|
+
it('Render More Facets', async () => {
|
|
125
|
+
var _a, _b;
|
|
126
126
|
const el = await fixture(html `<collection-facets
|
|
127
127
|
.modalManager=${new ModalManager()}
|
|
128
|
-
></collection-facets>`);
|
|
129
|
-
const aggs = {
|
|
130
|
-
subject: new Aggregation({
|
|
131
|
-
buckets: [
|
|
132
|
-
{
|
|
133
|
-
key: 'foo',
|
|
134
|
-
doc_count: 5,
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
key: 'fi',
|
|
138
|
-
doc_count: 5,
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
key: 'fum',
|
|
142
|
-
doc_count: 5,
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
key: 'flee',
|
|
146
|
-
doc_count: 5,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
key: 'wheee',
|
|
150
|
-
doc_count: 5,
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
key: 'whooo',
|
|
154
|
-
doc_count: 5,
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
key: 'boop',
|
|
158
|
-
doc_count: 5,
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
}),
|
|
162
|
-
};
|
|
163
|
-
el.aggregations = aggs;
|
|
164
|
-
await el.updateComplete;
|
|
165
|
-
let eventCaught = false;
|
|
166
|
-
let eventFacet = '';
|
|
167
|
-
el.addEventListener('showMoreFacets', e => {
|
|
168
|
-
eventFacet = e.detail;
|
|
169
|
-
eventCaught = true;
|
|
170
|
-
});
|
|
171
|
-
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
172
|
-
expect(moreLink).to.exist; // has link
|
|
173
|
-
const showModalSpy = sinon.spy(el.modalManager, 'showModal');
|
|
174
|
-
// let's pop up modal
|
|
175
|
-
moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
|
|
176
|
-
await el.updateComplete;
|
|
177
|
-
expect(showModalSpy.callCount).to.equal(1);
|
|
178
|
-
expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('more-search-facets')).to.be
|
|
179
|
-
.true;
|
|
180
|
-
expect(eventCaught).to.be.true;
|
|
181
|
-
expect(eventFacet).to.equal('subject');
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
});
|
|
128
|
+
></collection-facets>`);
|
|
129
|
+
const aggs = {
|
|
130
|
+
subject: new Aggregation({
|
|
131
|
+
buckets: [
|
|
132
|
+
{
|
|
133
|
+
key: 'foo',
|
|
134
|
+
doc_count: 5,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: 'fi',
|
|
138
|
+
doc_count: 5,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
key: 'fum',
|
|
142
|
+
doc_count: 5,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: 'flee',
|
|
146
|
+
doc_count: 5,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
key: 'wheee',
|
|
150
|
+
doc_count: 5,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
key: 'whooo',
|
|
154
|
+
doc_count: 5,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
key: 'boop',
|
|
158
|
+
doc_count: 5,
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
}),
|
|
162
|
+
};
|
|
163
|
+
el.aggregations = aggs;
|
|
164
|
+
await el.updateComplete;
|
|
165
|
+
let eventCaught = false;
|
|
166
|
+
let eventFacet = '';
|
|
167
|
+
el.addEventListener('showMoreFacets', e => {
|
|
168
|
+
eventFacet = e.detail;
|
|
169
|
+
eventCaught = true;
|
|
170
|
+
});
|
|
171
|
+
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
172
|
+
expect(moreLink).to.exist; // has link
|
|
173
|
+
const showModalSpy = sinon.spy(el.modalManager, 'showModal');
|
|
174
|
+
// let's pop up modal
|
|
175
|
+
moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
|
|
176
|
+
await el.updateComplete;
|
|
177
|
+
expect(showModalSpy.callCount).to.equal(1);
|
|
178
|
+
expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('more-search-facets')).to.be
|
|
179
|
+
.true;
|
|
180
|
+
expect(eventCaught).to.be.true;
|
|
181
|
+
expect(eventFacet).to.equal('subject');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
185
|
//# sourceMappingURL=collection-facets.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/empty-placeholder';
|
|
1
|
+
import '../src/empty-placeholder';
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/empty-placeholder';
|
|
5
|
-
describe('Empty Placeholder', () => {
|
|
6
|
-
it('should render with empty-query placeholder', async () => {
|
|
7
|
-
var _a, _b, _c;
|
|
8
|
-
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
9
|
-
el.placeholderType = 'empty-query';
|
|
10
|
-
await el.updateComplete;
|
|
11
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.empty-query')).to.exist;
|
|
12
|
-
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.null-result')).to.not.exist;
|
|
13
|
-
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('infinite-scroller')).to.not.exist;
|
|
14
|
-
});
|
|
15
|
-
it('should render with null-result placeholder', async () => {
|
|
16
|
-
var _a, _b, _c;
|
|
17
|
-
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
18
|
-
el.placeholderType = 'null-result';
|
|
19
|
-
await el.updateComplete;
|
|
20
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.null-result')).to.exist;
|
|
21
|
-
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.empty-query')).to.not.exist;
|
|
22
|
-
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('collection-facets')).to.not.exist;
|
|
23
|
-
});
|
|
24
|
-
it('should not render any empty placeholder', async () => {
|
|
25
|
-
var _a, _b, _c;
|
|
26
|
-
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
27
|
-
el.placeholderType = null;
|
|
28
|
-
await el.updateComplete;
|
|
29
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.empty-query')).to.not.exist;
|
|
30
|
-
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.null-result')).to.not.exist;
|
|
31
|
-
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('collection-facets')).to.not.exist;
|
|
32
|
-
});
|
|
33
|
-
});
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/empty-placeholder';
|
|
5
|
+
describe('Empty Placeholder', () => {
|
|
6
|
+
it('should render with empty-query placeholder', async () => {
|
|
7
|
+
var _a, _b, _c;
|
|
8
|
+
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
9
|
+
el.placeholderType = 'empty-query';
|
|
10
|
+
await el.updateComplete;
|
|
11
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.empty-query')).to.exist;
|
|
12
|
+
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.null-result')).to.not.exist;
|
|
13
|
+
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('infinite-scroller')).to.not.exist;
|
|
14
|
+
});
|
|
15
|
+
it('should render with null-result placeholder', async () => {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
18
|
+
el.placeholderType = 'null-result';
|
|
19
|
+
await el.updateComplete;
|
|
20
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.null-result')).to.exist;
|
|
21
|
+
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.empty-query')).to.not.exist;
|
|
22
|
+
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('collection-facets')).to.not.exist;
|
|
23
|
+
});
|
|
24
|
+
it('should not render any empty placeholder', async () => {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
const el = await fixture(html `<empty-placeholder></empty-placeholder>`);
|
|
27
|
+
el.placeholderType = null;
|
|
28
|
+
await el.updateComplete;
|
|
29
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.empty-query')).to.not.exist;
|
|
30
|
+
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.null-result')).to.not.exist;
|
|
31
|
+
expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('collection-facets')).to.not.exist;
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
34
|
//# sourceMappingURL=empty-placeholder.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/overlay/icon-overlay';
|
|
1
|
+
import '../src/tiles/overlay/icon-overlay';
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/tiles/overlay/icon-overlay';
|
|
5
|
-
describe('Icon Overlay component', () => {
|
|
6
|
-
it('should render component if loggedIn required', async () => {
|
|
7
|
-
var _a, _b, _c;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/tiles/overlay/icon-overlay';
|
|
5
|
+
describe('Icon Overlay component', () => {
|
|
6
|
+
it('should render component if loggedIn required', async () => {
|
|
7
|
+
var _a, _b, _c;
|
|
8
8
|
const el = await fixture(html `
|
|
9
9
|
<icon-overlay .loggedIn=${false} .loginRequired=${true}> </icon-overlay>
|
|
10
|
-
`);
|
|
11
|
-
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
12
|
-
expect(svgTitle).to.equal('Log in to view this item');
|
|
13
|
-
});
|
|
14
|
-
it('should render component if content warning', async () => {
|
|
15
|
-
var _a, _b, _c;
|
|
10
|
+
`);
|
|
11
|
+
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
12
|
+
expect(svgTitle).to.equal('Log in to view this item');
|
|
13
|
+
});
|
|
14
|
+
it('should render component if content warning', async () => {
|
|
15
|
+
var _a, _b, _c;
|
|
16
16
|
const el = await fixture(html `
|
|
17
17
|
<icon-overlay .loggedIn=${false} .loginRequired=${false}> </icon-overlay>
|
|
18
|
-
`);
|
|
19
|
-
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
20
|
-
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
21
|
-
});
|
|
22
|
-
it('should render component if content warning', async () => {
|
|
23
|
-
var _a, _b, _c;
|
|
18
|
+
`);
|
|
19
|
+
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
20
|
+
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
21
|
+
});
|
|
22
|
+
it('should render component if content warning', async () => {
|
|
23
|
+
var _a, _b, _c;
|
|
24
24
|
const el = await fixture(html `
|
|
25
25
|
<icon-overlay .loggedIn=${true} .loginRequired=${true}> </icon-overlay>
|
|
26
|
-
`);
|
|
27
|
-
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
28
|
-
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
29
|
-
});
|
|
30
|
-
});
|
|
26
|
+
`);
|
|
27
|
+
const svgTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg')) === null || _b === void 0 ? void 0 : _b.querySelector('title')) === null || _c === void 0 ? void 0 : _c.textContent;
|
|
28
|
+
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
31
|
//# sourceMappingURL=icon-overlay.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/item-image';
|
|
1
|
+
import '../src/tiles/item-image';
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../src/tiles/item-image';
|
|
5
|
-
const baseImageUrl = 'https://archive.org';
|
|
6
|
-
const testBookModel = {
|
|
7
|
-
collections: [],
|
|
8
|
-
commentCount: 0,
|
|
9
|
-
creators: [],
|
|
10
|
-
favCount: 0,
|
|
11
|
-
identifier: '18730130BloomfieldRecordCompleteIssue',
|
|
12
|
-
itemCount: 0,
|
|
13
|
-
mediatype: 'texts',
|
|
14
|
-
subjects: [],
|
|
15
|
-
title: 'Sample Waveform',
|
|
16
|
-
viewCount: 0,
|
|
17
|
-
loginRequired: false,
|
|
18
|
-
contentWarning: false,
|
|
19
|
-
};
|
|
20
|
-
const testAudioModel = {
|
|
21
|
-
collections: [],
|
|
22
|
-
commentCount: 0,
|
|
23
|
-
creators: [],
|
|
24
|
-
favCount: 0,
|
|
25
|
-
identifier: 'dwd2015-01-24',
|
|
26
|
-
itemCount: 0,
|
|
27
|
-
mediatype: 'audio',
|
|
28
|
-
subjects: [],
|
|
29
|
-
title: 'Sample Waveform',
|
|
30
|
-
viewCount: 0,
|
|
31
|
-
loginRequired: false,
|
|
32
|
-
contentWarning: false,
|
|
33
|
-
};
|
|
34
|
-
describe('ItemImage component', () => {
|
|
35
|
-
it('should render initial component', async () => {
|
|
36
|
-
var _a, _b;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../src/tiles/item-image';
|
|
5
|
+
const baseImageUrl = 'https://archive.org';
|
|
6
|
+
const testBookModel = {
|
|
7
|
+
collections: [],
|
|
8
|
+
commentCount: 0,
|
|
9
|
+
creators: [],
|
|
10
|
+
favCount: 0,
|
|
11
|
+
identifier: '18730130BloomfieldRecordCompleteIssue',
|
|
12
|
+
itemCount: 0,
|
|
13
|
+
mediatype: 'texts',
|
|
14
|
+
subjects: [],
|
|
15
|
+
title: 'Sample Waveform',
|
|
16
|
+
viewCount: 0,
|
|
17
|
+
loginRequired: false,
|
|
18
|
+
contentWarning: false,
|
|
19
|
+
};
|
|
20
|
+
const testAudioModel = {
|
|
21
|
+
collections: [],
|
|
22
|
+
commentCount: 0,
|
|
23
|
+
creators: [],
|
|
24
|
+
favCount: 0,
|
|
25
|
+
identifier: 'dwd2015-01-24',
|
|
26
|
+
itemCount: 0,
|
|
27
|
+
mediatype: 'audio',
|
|
28
|
+
subjects: [],
|
|
29
|
+
title: 'Sample Waveform',
|
|
30
|
+
viewCount: 0,
|
|
31
|
+
loginRequired: false,
|
|
32
|
+
contentWarning: false,
|
|
33
|
+
};
|
|
34
|
+
describe('ItemImage component', () => {
|
|
35
|
+
it('should render initial component', async () => {
|
|
36
|
+
var _a, _b;
|
|
37
37
|
const el = await fixture(html `
|
|
38
38
|
<item-image
|
|
39
39
|
.isListTile=${false}
|
|
@@ -42,14 +42,14 @@ describe('ItemImage component', () => {
|
|
|
42
42
|
.baseImageUrl=${baseImageUrl}
|
|
43
43
|
>
|
|
44
44
|
</item-image>
|
|
45
|
-
`);
|
|
46
|
-
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
47
|
-
const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
|
|
48
|
-
expect(dropShadow).to.exist;
|
|
49
|
-
expect(imgClassName).to.eql(' contain ');
|
|
50
|
-
});
|
|
51
|
-
it('should render component if mediatype is waveform', async () => {
|
|
52
|
-
var _a;
|
|
45
|
+
`);
|
|
46
|
+
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
47
|
+
const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
|
|
48
|
+
expect(dropShadow).to.exist;
|
|
49
|
+
expect(imgClassName).to.eql(' contain ');
|
|
50
|
+
});
|
|
51
|
+
it('should render component if mediatype is waveform', async () => {
|
|
52
|
+
var _a;
|
|
53
53
|
const el = await fixture(html `
|
|
54
54
|
<item-image
|
|
55
55
|
.isListTile=${false}
|
|
@@ -58,16 +58,16 @@ describe('ItemImage component', () => {
|
|
|
58
58
|
.baseImageUrl=${baseImageUrl}
|
|
59
59
|
>
|
|
60
60
|
</item-image>
|
|
61
|
-
`);
|
|
62
|
-
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
63
|
-
const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
|
|
64
|
-
expect(dropShadow).to.exist;
|
|
65
|
-
expect(image).to.exist;
|
|
66
|
-
// simulate image onLoad event check if image className is waveform
|
|
67
|
-
setTimeout(() => {
|
|
68
|
-
const imgClassName = image === null || image === void 0 ? void 0 : image.className;
|
|
69
|
-
expect(imgClassName).to.eql(' waveform ');
|
|
70
|
-
}, 1000);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
61
|
+
`);
|
|
62
|
+
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
63
|
+
const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
|
|
64
|
+
expect(dropShadow).to.exist;
|
|
65
|
+
expect(image).to.exist;
|
|
66
|
+
// simulate image onLoad event check if image className is waveform
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
const imgClassName = image === null || image === void 0 ? void 0 : image.className;
|
|
69
|
+
expect(imgClassName).to.eql(' waveform ');
|
|
70
|
+
}, 1000);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
73
|
//# sourceMappingURL=item-image.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|