@internetarchive/collection-browser 0.4.8 → 0.4.9-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 +50 -50
- package/dist/src/app-root.js +278 -278
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +281 -277
- package/dist/src/collection-browser.js +1203 -1194
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +16 -16
- package/dist/src/collection-facets/facets-template.js +125 -125
- package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
- package/dist/src/collection-facets/more-facets-content.js +357 -357
- 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 +83 -77
- package/dist/src/collection-facets.js +402 -384
- 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 +114 -114
- package/dist/src/models.js +125 -125
- package/dist/src/restoration-state-handler.d.ts +45 -45
- package/dist/src/restoration-state-handler.js +230 -230
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
- package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
- 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 +108 -108
- package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
- 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 +17 -17
- package/dist/src/tiles/grid/account-tile.js +46 -46
- package/dist/src/tiles/grid/collection-tile.d.ts +14 -14
- package/dist/src/tiles/grid/collection-tile.js +53 -53
- package/dist/src/tiles/grid/item-tile.d.ts +29 -29
- package/dist/src/tiles/grid/item-tile.js +108 -108
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
- package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
- package/dist/src/tiles/grid/tile-stats.js +40 -40
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +197 -197
- package/dist/src/tiles/hover/hover-pane-controller.js +331 -331
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +72 -72
- package/dist/src/tiles/item-image.d.ts +35 -35
- package/dist/src/tiles/item-image.js +117 -117
- package/dist/src/tiles/list/account-label.d.ts +1 -1
- package/dist/src/tiles/list/account-label.js +6 -6
- package/dist/src/tiles/list/date-label.d.ts +1 -1
- package/dist/src/tiles/list/date-label.js +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
- package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
- package/dist/src/tiles/list/tile-list-compact.js +99 -99
- package/dist/src/tiles/list/tile-list.d.ts +55 -55
- package/dist/src/tiles/list/tile-list.js +297 -297
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +55 -55
- package/dist/src/tiles/tile-dispatcher.js +176 -176
- package/dist/src/utils/analytics-events.d.ts +22 -22
- package/dist/src/utils/analytics-events.js +24 -24
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +23 -23
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +584 -584
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +62 -62
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +114 -114
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +508 -508
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +33 -33
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +48 -48
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -84
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
- package/dist/test/mocks/mock-collection-name-cache.js +13 -13
- package/dist/test/mocks/mock-search-responses.d.ts +12 -12
- package/dist/test/mocks/mock-search-responses.js +341 -341
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +40 -40
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +125 -125
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +43 -43
- 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 +197 -197
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +33 -33
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +60 -60
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +57 -57
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +142 -142
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +163 -163
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/collection-browser.ts +10 -0
- package/src/collection-facets.ts +25 -6
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import '../../../src/tiles/grid/item-tile';
|
|
5
|
-
describe('Item Tile', () => {
|
|
6
|
-
it('should render initial component', async () => {
|
|
7
|
-
var _a, _b, _c, _d, _e;
|
|
8
|
-
const el = await fixture(html `<item-tile></item-tile>`);
|
|
9
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
|
|
10
|
-
const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
|
|
11
|
-
const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
|
|
12
|
-
const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
|
|
13
|
-
const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
|
|
14
|
-
expect(container).to.exist;
|
|
15
|
-
expect(tileDetails).to.exist;
|
|
16
|
-
expect(itemInfo).to.exist;
|
|
17
|
-
expect(imageBlock).to.exist;
|
|
18
|
-
expect(itemTitle).to.exist;
|
|
19
|
-
});
|
|
20
|
-
it('should render with created-by element', async () => {
|
|
21
|
-
var _a, _b, _c, _d, _e;
|
|
22
|
-
const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
|
|
23
|
-
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
|
|
24
|
-
const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
|
|
25
|
-
const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
|
|
26
|
-
const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
|
|
27
|
-
const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
|
|
28
|
-
const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
|
|
29
|
-
expect(container).to.exist;
|
|
30
|
-
expect(tileDetails).to.exist;
|
|
31
|
-
expect(itemInfo).to.exist;
|
|
32
|
-
expect(createdBy).to.exist;
|
|
33
|
-
expect(truncatedCreatorText).to.exist;
|
|
34
|
-
expect(dateSortedBy).to.not.exist;
|
|
35
|
-
});
|
|
36
|
-
it('should not render with created-by but date element', async () => {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
|
|
39
|
-
el.sortParam = {
|
|
40
|
-
field: 'date',
|
|
41
|
-
direction: 'desc',
|
|
42
|
-
};
|
|
43
|
-
await el.updateComplete;
|
|
44
|
-
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
45
|
-
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
46
|
-
expect(createdBy).to.not.exist;
|
|
47
|
-
expect(dateSortedBy).to.exist;
|
|
48
|
-
});
|
|
49
|
-
it('should not render with created-by but reviewdate element', async () => {
|
|
50
|
-
var _a, _b;
|
|
51
|
-
const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
|
|
52
|
-
el.sortParam = {
|
|
53
|
-
field: 'reviewdate',
|
|
54
|
-
direction: 'desc',
|
|
55
|
-
};
|
|
56
|
-
await el.updateComplete;
|
|
57
|
-
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
58
|
-
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
59
|
-
expect(createdBy).to.not.exist;
|
|
60
|
-
expect(dateSortedBy).to.exist;
|
|
61
|
-
});
|
|
62
|
-
it('should not render with created-by but publicdate element', async () => {
|
|
63
|
-
var _a, _b;
|
|
64
|
-
const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
|
|
65
|
-
el.sortParam = {
|
|
66
|
-
field: 'publicdate',
|
|
67
|
-
direction: 'desc',
|
|
68
|
-
};
|
|
69
|
-
await el.updateComplete;
|
|
70
|
-
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
71
|
-
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
72
|
-
expect(createdBy).to.not.exist;
|
|
73
|
-
expect(dateSortedBy).to.exist;
|
|
74
|
-
});
|
|
75
|
-
it('should not render date-sorted-by element if date is not provided', async () => {
|
|
76
|
-
var _a, _b;
|
|
77
|
-
const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
|
|
78
|
-
el.sortParam = {
|
|
79
|
-
field: 'publicdate',
|
|
80
|
-
direction: 'desc',
|
|
81
|
-
};
|
|
82
|
-
await el.updateComplete;
|
|
83
|
-
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
84
|
-
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
85
|
-
expect(createdBy).to.not.exist;
|
|
86
|
-
expect(dateSortedBy).to.not.exist;
|
|
87
|
-
});
|
|
88
|
-
it('should render with created-by when sorting not related to date', async () => {
|
|
89
|
-
var _a, _b, _c;
|
|
90
|
-
const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
|
|
91
|
-
el.sortParam = {
|
|
92
|
-
field: 'addeddate',
|
|
93
|
-
direction: 'asc',
|
|
94
|
-
};
|
|
95
|
-
await el.updateComplete;
|
|
96
|
-
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
97
|
-
const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
|
|
98
|
-
const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
|
|
99
|
-
expect(itemInfo).to.exist;
|
|
100
|
-
expect(createdBy).to.not.exist;
|
|
101
|
-
expect(dateSortedBy).to.exist;
|
|
102
|
-
});
|
|
103
|
-
it('should render with created-by when sort field id not like date', async () => {
|
|
104
|
-
var _a, _b, _c;
|
|
105
|
-
const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
|
|
106
|
-
el.sortParam = {
|
|
107
|
-
field: 'week',
|
|
108
|
-
direction: 'asc',
|
|
109
|
-
};
|
|
110
|
-
await el.updateComplete;
|
|
111
|
-
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
112
|
-
const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
|
|
113
|
-
const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
|
|
114
|
-
expect(itemInfo).to.exist;
|
|
115
|
-
expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
|
|
116
|
-
expect(createdBy).to.exist;
|
|
117
|
-
});
|
|
118
|
-
it('should render with snippet block when it has snippets', async () => {
|
|
119
|
-
var _a;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import '../../../src/tiles/grid/item-tile';
|
|
5
|
+
describe('Item Tile', () => {
|
|
6
|
+
it('should render initial component', async () => {
|
|
7
|
+
var _a, _b, _c, _d, _e;
|
|
8
|
+
const el = await fixture(html `<item-tile></item-tile>`);
|
|
9
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
|
|
10
|
+
const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
|
|
11
|
+
const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
|
|
12
|
+
const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
|
|
13
|
+
const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
|
|
14
|
+
expect(container).to.exist;
|
|
15
|
+
expect(tileDetails).to.exist;
|
|
16
|
+
expect(itemInfo).to.exist;
|
|
17
|
+
expect(imageBlock).to.exist;
|
|
18
|
+
expect(itemTitle).to.exist;
|
|
19
|
+
});
|
|
20
|
+
it('should render with created-by element', async () => {
|
|
21
|
+
var _a, _b, _c, _d, _e;
|
|
22
|
+
const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
|
|
23
|
+
const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
|
|
24
|
+
const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
|
|
25
|
+
const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
|
|
26
|
+
const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
|
|
27
|
+
const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
|
|
28
|
+
const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
|
|
29
|
+
expect(container).to.exist;
|
|
30
|
+
expect(tileDetails).to.exist;
|
|
31
|
+
expect(itemInfo).to.exist;
|
|
32
|
+
expect(createdBy).to.exist;
|
|
33
|
+
expect(truncatedCreatorText).to.exist;
|
|
34
|
+
expect(dateSortedBy).to.not.exist;
|
|
35
|
+
});
|
|
36
|
+
it('should not render with created-by but date element', async () => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
|
|
39
|
+
el.sortParam = {
|
|
40
|
+
field: 'date',
|
|
41
|
+
direction: 'desc',
|
|
42
|
+
};
|
|
43
|
+
await el.updateComplete;
|
|
44
|
+
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
45
|
+
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
46
|
+
expect(createdBy).to.not.exist;
|
|
47
|
+
expect(dateSortedBy).to.exist;
|
|
48
|
+
});
|
|
49
|
+
it('should not render with created-by but reviewdate element', async () => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
|
|
52
|
+
el.sortParam = {
|
|
53
|
+
field: 'reviewdate',
|
|
54
|
+
direction: 'desc',
|
|
55
|
+
};
|
|
56
|
+
await el.updateComplete;
|
|
57
|
+
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
58
|
+
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
59
|
+
expect(createdBy).to.not.exist;
|
|
60
|
+
expect(dateSortedBy).to.exist;
|
|
61
|
+
});
|
|
62
|
+
it('should not render with created-by but publicdate element', async () => {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
|
|
65
|
+
el.sortParam = {
|
|
66
|
+
field: 'publicdate',
|
|
67
|
+
direction: 'desc',
|
|
68
|
+
};
|
|
69
|
+
await el.updateComplete;
|
|
70
|
+
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
71
|
+
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
72
|
+
expect(createdBy).to.not.exist;
|
|
73
|
+
expect(dateSortedBy).to.exist;
|
|
74
|
+
});
|
|
75
|
+
it('should not render date-sorted-by element if date is not provided', async () => {
|
|
76
|
+
var _a, _b;
|
|
77
|
+
const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
|
|
78
|
+
el.sortParam = {
|
|
79
|
+
field: 'publicdate',
|
|
80
|
+
direction: 'desc',
|
|
81
|
+
};
|
|
82
|
+
await el.updateComplete;
|
|
83
|
+
const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
|
|
84
|
+
const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
|
|
85
|
+
expect(createdBy).to.not.exist;
|
|
86
|
+
expect(dateSortedBy).to.not.exist;
|
|
87
|
+
});
|
|
88
|
+
it('should render with created-by when sorting not related to date', async () => {
|
|
89
|
+
var _a, _b, _c;
|
|
90
|
+
const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
|
|
91
|
+
el.sortParam = {
|
|
92
|
+
field: 'addeddate',
|
|
93
|
+
direction: 'asc',
|
|
94
|
+
};
|
|
95
|
+
await el.updateComplete;
|
|
96
|
+
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
97
|
+
const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
|
|
98
|
+
const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
|
|
99
|
+
expect(itemInfo).to.exist;
|
|
100
|
+
expect(createdBy).to.not.exist;
|
|
101
|
+
expect(dateSortedBy).to.exist;
|
|
102
|
+
});
|
|
103
|
+
it('should render with created-by when sort field id not like date', async () => {
|
|
104
|
+
var _a, _b, _c;
|
|
105
|
+
const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
|
|
106
|
+
el.sortParam = {
|
|
107
|
+
field: 'week',
|
|
108
|
+
direction: 'asc',
|
|
109
|
+
};
|
|
110
|
+
await el.updateComplete;
|
|
111
|
+
const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
|
|
112
|
+
const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
|
|
113
|
+
const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
|
|
114
|
+
expect(itemInfo).to.exist;
|
|
115
|
+
expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
|
|
116
|
+
expect(createdBy).to.exist;
|
|
117
|
+
});
|
|
118
|
+
it('should render with snippet block when it has snippets', async () => {
|
|
119
|
+
var _a;
|
|
120
120
|
const el = await fixture(html `
|
|
121
121
|
<item-tile .model=${{ snippets: ['some {{{snippet}}} text'] }}>
|
|
122
122
|
</item-tile>
|
|
123
|
-
`);
|
|
124
|
-
const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
|
|
125
|
-
expect(snippetBlock).to.exist;
|
|
126
|
-
});
|
|
127
|
-
it('should not render snippet block when no snippets are present', async () => {
|
|
128
|
-
var _a;
|
|
129
|
-
const el = await fixture(html `<item-tile></item-tile>`);
|
|
130
|
-
const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
|
|
131
|
-
expect(snippetBlock).to.not.exist;
|
|
132
|
-
});
|
|
133
|
-
it('should render with volume/issue view', async () => {
|
|
134
|
-
var _a;
|
|
123
|
+
`);
|
|
124
|
+
const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
|
|
125
|
+
expect(snippetBlock).to.exist;
|
|
126
|
+
});
|
|
127
|
+
it('should not render snippet block when no snippets are present', async () => {
|
|
128
|
+
var _a;
|
|
129
|
+
const el = await fixture(html `<item-tile></item-tile>`);
|
|
130
|
+
const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
|
|
131
|
+
expect(snippetBlock).to.not.exist;
|
|
132
|
+
});
|
|
133
|
+
it('should render with volume/issue view', async () => {
|
|
134
|
+
var _a;
|
|
135
135
|
const el = await fixture(html `
|
|
136
136
|
<item-tile .model=${{ volume: '1', issue: 'Index' }}></item-tile>
|
|
137
|
-
`);
|
|
138
|
-
const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
|
|
139
|
-
expect(volumeIssueBlock).to.exist;
|
|
140
|
-
});
|
|
141
|
-
it('should render with volume/issue view to not render', async () => {
|
|
142
|
-
var _a;
|
|
143
|
-
const el = await fixture(html `<item-tile></item-tile>`);
|
|
144
|
-
const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
|
|
145
|
-
expect(volumeIssueBlock).to.not.exist;
|
|
146
|
-
});
|
|
147
|
-
});
|
|
137
|
+
`);
|
|
138
|
+
const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
|
|
139
|
+
expect(volumeIssueBlock).to.exist;
|
|
140
|
+
});
|
|
141
|
+
it('should render with volume/issue view to not render', async () => {
|
|
142
|
+
var _a;
|
|
143
|
+
const el = await fixture(html `<item-tile></item-tile>`);
|
|
144
|
+
const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
|
|
145
|
+
expect(volumeIssueBlock).to.not.exist;
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
148
|
//# sourceMappingURL=item-tile.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|