@internetarchive/collection-browser 1.14.11 → 1.14.12
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/dist/src/app-root.d.ts +4 -0
- package/dist/src/app-root.js +33 -3
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/collection-browser.d.ts +1 -0
- package/dist/src/collection-browser.js +9 -0
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +2 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.js +18 -10
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/test/collection-browser.test.js +8 -0
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +10 -0
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/package.json +1 -1
- package/src/app-root.ts +37 -3
- package/src/collection-browser.ts +7 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +16 -10
- package/test/collection-browser.test.ts +11 -0
- package/test/sort-filter-bar/sort-filter-bar.test.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-filter-bar.test.js","sourceRoot":"","sources":["../../../test/sort-filter-bar/sort-filter-bar.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { IaDropdown } from '@internetarchive/ia-dropdown';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport type { SortFilterBar } from '../../src/sort-filter-bar/sort-filter-bar';\nimport type { SortField } from '../../src/models';\n\nimport '../../src/sort-filter-bar/sort-filter-bar';\n\ndescribe('Sort selector default buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n const sortSelectorContainer = el.shadowRoot?.querySelector(\n '#sort-selector-container'\n );\n const desktopSortSelector = sortSelectorContainer?.querySelector(\n '#desktop-sort-selector'\n );\n\n before(async () => {\n el.resizeObserver = new SharedResizeObserver();\n await el.updateComplete;\n });\n\n it('should render basic component', async () => {\n expect(sortSelectorContainer).to.exist;\n expect(desktopSortSelector).to.exist;\n });\n\n it('should render sort-by label', async () => {\n const sortByLabel = el.shadowRoot?.querySelector('.sort-by-text');\n expect(sortByLabel).to.exist;\n expect(sortByLabel?.textContent?.trim()).to.equal('Sort by:');\n });\n\n it('should render sort direction button', async () => {\n const sortDirections = el.shadowRoot?.querySelector(\n '.sort-direction-container'\n );\n expect(sortDirections).to.exist;\n expect(sortDirections?.querySelector('.sort-direction-icon')).to.exist;\n });\n\n it('should not render relevance-sort selector if showRelevance is false', async () => {\n el.showRelevance = false;\n await el.updateComplete;\n\n const defaultSortSelector =\n desktopSortSelector?.querySelector('button.selected');\n expect(defaultSortSelector?.textContent?.trim()).not.to.equal('Relevance');\n });\n\n it('should render default relevance-sort selector', async () => {\n el.showRelevance = true;\n await el.updateComplete;\n\n const defaultSortSelector =\n desktopSortSelector?.querySelector('button.selected');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Relevance');\n });\n\n it('should render default view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Weekly views');\n });\n\n it('should render active view-sort selectors', async () => {\n el.selectedSort = 'alltimeview' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('All-time views');\n });\n\n it('should render default title-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('button');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Title');\n });\n\n it('should render default date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date published');\n });\n\n it('should render active date-sort selectors', async () => {\n el.selectedSort = 'datereviewed' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date reviewed');\n });\n\n it('should render default creator-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('button');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Creator');\n });\n\n it('handles click event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on title selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('handles click event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles click event on creator selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('creator');\n });\n\n it('handles click event on relevance selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(0)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n });\n\n it('handles return/space key event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles return/space key event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles click event on view-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on date-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('shows view sort selector backdrop when view sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('shows date sort selector backdrop when date sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('closes dropdown by hitting escape key', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n});\n\ndescribe('Sort direction button behavior', () => {\n it('should disable sort direction button when sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'relevance' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.true;\n });\n\n it('should enable sort direction button when not sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.false;\n });\n\n it('should toggle sort direction when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.sortDirection = 'asc';\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('desc');\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('asc');\n });\n});\n\ndescribe('Display mode/style buttons', () => {\n it('should render all display mode buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n const displayModeButtonList = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('ul');\n\n const gridButton = displayModeButtonList?.children\n .item(0)\n ?.querySelector('#grid-button');\n expect(gridButton).to.exist;\n\n const detailListButton = displayModeButtonList?.children\n .item(1)\n ?.querySelector('#list-detail-button');\n expect(detailListButton).to.exist;\n\n const compactListButton = displayModeButtonList?.children\n .item(2)\n ?.querySelector('#list-compact-button');\n expect(compactListButton).to.exist;\n });\n\n it('should active current display mode', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const displayModeTitle = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('button.active')\n ?.getAttribute('title');\n expect(displayModeTitle).to.equal('Tile view');\n });\n\n it('should change displayMode prop to the one clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const extendedListButton = el.shadowRoot?.querySelector(\n '#list-detail-button'\n ) as HTMLElement;\n extendedListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-detail');\n\n const compactListButton = el.shadowRoot?.querySelector(\n '#list-compact-button'\n ) as HTMLElement;\n compactListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-compact');\n\n const gridModeButton = el.shadowRoot?.querySelector(\n '#grid-button'\n ) as HTMLElement;\n gridModeButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('grid');\n });\n});\n\ndescribe('Sort/filter bar letter behavior', () => {\n it('sets the selected title letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > button:not(:disabled)'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('T');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedTitleFilter).to.equal('T');\n });\n\n it('sets the selected creator letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > button:not(:disabled)'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('C');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedCreatorFilter).to.equal('C');\n });\n});\n\ndescribe('Sort/filter bar mobile view', () => {\n let origWindowSize: { width: number; height: number };\n before(() => {\n origWindowSize = { width: window.innerWidth, height: window.innerHeight };\n window.resizeTo(500, 600);\n });\n\n after(() => {\n window.resizeTo(origWindowSize.width, origWindowSize.height);\n });\n\n it('renders in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileSortContainer = el.shadowRoot?.querySelector(\n '#mobile-sort-container'\n );\n const desktopSortContainer = el.shadowRoot?.querySelector(\n '#desktop-sort-container'\n );\n\n expect(mobileSortContainer?.classList?.contains('visible')).to.be.true;\n expect(desktopSortContainer?.classList?.contains('hidden')).to.be.true;\n });\n\n it('changes selected sort in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'title';\n const option = { id: 'title' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('clears title filter when sort changed from title in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.selectedTitleFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedTitleFilter).to.be.null;\n });\n\n it('clears creator filter when sort changed from creator in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.selectedCreatorFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedCreatorFilter).to.be.null;\n });\n\n it('shows sort selector backdrop when mobile sort open', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n const caret = mobileDropdown?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"sort-filter-bar.test.js","sourceRoot":"","sources":["../../../test/sort-filter-bar/sort-filter-bar.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { IaDropdown } from '@internetarchive/ia-dropdown';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport type { SortFilterBar } from '../../src/sort-filter-bar/sort-filter-bar';\nimport type { SortField } from '../../src/models';\n\nimport '../../src/sort-filter-bar/sort-filter-bar';\n\ndescribe('Sort selector default buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n const sortSelectorContainer = el.shadowRoot?.querySelector(\n '#sort-selector-container'\n );\n const desktopSortSelector = sortSelectorContainer?.querySelector(\n '#desktop-sort-selector'\n );\n\n before(async () => {\n el.resizeObserver = new SharedResizeObserver();\n await el.updateComplete;\n });\n\n it('should render basic component', async () => {\n expect(sortSelectorContainer).to.exist;\n expect(desktopSortSelector).to.exist;\n });\n\n it('should render sort-by label', async () => {\n const sortByLabel = el.shadowRoot?.querySelector('.sort-by-text');\n expect(sortByLabel).to.exist;\n expect(sortByLabel?.textContent?.trim()).to.equal('Sort by:');\n });\n\n it('should render sort direction button', async () => {\n const sortDirections = el.shadowRoot?.querySelector(\n '.sort-direction-container'\n );\n expect(sortDirections).to.exist;\n expect(sortDirections?.querySelector('.sort-direction-icon')).to.exist;\n });\n\n it('should not render relevance-sort selector if showRelevance is false', async () => {\n el.showRelevance = false;\n await el.updateComplete;\n\n const defaultSortSelector =\n desktopSortSelector?.querySelector('button.selected');\n expect(defaultSortSelector?.textContent?.trim()).not.to.equal('Relevance');\n });\n\n it('should render default relevance-sort selector', async () => {\n el.showRelevance = true;\n await el.updateComplete;\n\n const defaultSortSelector =\n desktopSortSelector?.querySelector('button.selected');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Relevance');\n });\n\n it('should render default view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Weekly views');\n });\n\n it('should render active view-sort selectors', async () => {\n el.selectedSort = 'alltimeview' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('All-time views');\n });\n\n it('should render default title-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('button');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Title');\n });\n\n it('should render default date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date published');\n });\n\n it('should render active date-sort selectors', async () => {\n el.selectedSort = 'datereviewed' as SortField;\n await el.updateComplete;\n\n const defaultSortSelector = desktopSortSelector?.querySelector(\n 'ia-dropdown.selected'\n );\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Date reviewed');\n });\n\n it('should render default creator-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('button');\n expect(defaultSortSelector?.textContent?.trim()).to.equal('Creator');\n });\n\n it('handles click event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on title selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(2)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('handles click event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles click event on creator selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(4)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('creator');\n });\n\n it('handles click event on relevance selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(0)\n ?.querySelector('button');\n\n defaultSortSelector?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n });\n\n it('handles return/space key event on view-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles return/space key event on date-sort selector', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('.dropdown-label') as HTMLElement;\n\n el.selectedSort = 'relevance' as SortField;\n const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });\n defaultSortSelector?.dispatchEvent(enterEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n\n el.selectedSort = 'relevance' as SortField;\n const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });\n defaultSortSelector?.dispatchEvent(spaceEvent);\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('handles click event on view-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('weeklyview');\n });\n\n it('handles click event on date-sort dropdown option', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const firstOption = defaultSortSelector?.shadowRoot?.querySelector(\n 'li > button'\n ) as HTMLButtonElement;\n expect(firstOption).to.exist;\n\n firstOption?.click();\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('date');\n });\n\n it('shows view sort selector backdrop when view sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(1)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('shows date sort selector backdrop when date sort open', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('closes dropdown by hitting escape key', async () => {\n const defaultSortSelector = desktopSortSelector?.children\n .item(3)\n ?.querySelector('ia-dropdown') as IaDropdown;\n\n const caret = defaultSortSelector?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n});\n\ndescribe('Sort direction button behavior', () => {\n it('should disable sort direction button when sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'relevance' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.true;\n });\n\n it('should enable sort direction button when not sorting by relevance', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n expect(sortDirectionButton).to.exist;\n expect(sortDirectionButton.disabled).to.be.false;\n });\n\n it('should toggle sort direction when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.sortDirection = 'asc';\n await el.updateComplete;\n\n const sortDirectionButton = el.shadowRoot?.querySelector(\n '.sort-direction-selector'\n ) as HTMLButtonElement;\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('desc');\n\n sortDirectionButton.click();\n await el.updateComplete;\n expect(el.sortDirection).to.equal('asc');\n });\n});\n\ndescribe('Display mode/style buttons', () => {\n it('should render all display mode buttons', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n const displayModeButtonList = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('ul');\n\n const gridButton = displayModeButtonList?.children\n .item(0)\n ?.querySelector('#grid-button');\n expect(gridButton).to.exist;\n\n const detailListButton = displayModeButtonList?.children\n .item(1)\n ?.querySelector('#list-detail-button');\n expect(detailListButton).to.exist;\n\n const compactListButton = displayModeButtonList?.children\n .item(2)\n ?.querySelector('#list-compact-button');\n expect(compactListButton).to.exist;\n });\n\n it('should active current display mode', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const displayModeTitle = el.shadowRoot\n ?.querySelector('#display-style-selector')\n ?.querySelector('button.active')\n ?.getAttribute('title');\n expect(displayModeTitle).to.equal('Tile view');\n });\n\n it('should change displayMode prop to the one clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar> </sort-filter-bar>\n `);\n\n el.displayMode = 'grid';\n await el.updateComplete;\n\n const extendedListButton = el.shadowRoot?.querySelector(\n '#list-detail-button'\n ) as HTMLElement;\n extendedListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-detail');\n\n const compactListButton = el.shadowRoot?.querySelector(\n '#list-compact-button'\n ) as HTMLElement;\n compactListButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('list-compact');\n\n const gridModeButton = el.shadowRoot?.querySelector(\n '#grid-button'\n ) as HTMLElement;\n gridModeButton.click();\n await el.updateComplete;\n expect(el.displayMode).to.equal('grid');\n });\n});\n\ndescribe('Sort/filter bar letter behavior', () => {\n it('sets the selected title letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > button:not(:disabled)'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('T');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedTitleFilter).to.equal('T');\n });\n\n it('sets the selected creator letter when clicked', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };\n await el.updateComplete;\n\n const alphaBar = el.shadowRoot?.querySelector('alpha-bar');\n const letterLink = alphaBar?.shadowRoot?.querySelector(\n 'li > button:not(:disabled)'\n ) as HTMLAnchorElement;\n expect(letterLink?.textContent?.trim()).to.equal('C');\n\n letterLink?.click();\n await el.updateComplete;\n\n expect(el.selectedCreatorFilter).to.equal('C');\n });\n});\n\ndescribe('Sort/filter bar mobile view', () => {\n let origWindowSize: { width: number; height: number };\n before(() => {\n origWindowSize = { width: window.innerWidth, height: window.innerHeight };\n window.resizeTo(500, 600);\n });\n\n after(() => {\n window.resizeTo(origWindowSize.width, origWindowSize.height);\n });\n\n it('renders in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileSortContainer = el.shadowRoot?.querySelector(\n '#mobile-sort-container'\n );\n const desktopSortContainer = el.shadowRoot?.querySelector(\n '#desktop-sort-container'\n );\n\n expect(mobileSortContainer?.classList?.contains('visible')).to.be.true;\n expect(desktopSortContainer?.classList?.contains('hidden')).to.be.true;\n });\n\n it('changes selected sort in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'title';\n const option = { id: 'title' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('title');\n });\n\n it('clears title filter when sort changed from title in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'title' as SortField;\n el.selectedTitleFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedTitleFilter).to.be.null;\n });\n\n it('clears creator filter when sort changed from creator in mobile view', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.selectedSort = 'creator' as SortField;\n el.selectedCreatorFilter = 'A';\n await el.updateComplete;\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n mobileDropdown.selectedOption = 'relevance';\n const option = { id: 'relevance' };\n mobileDropdown.dispatchEvent(\n new CustomEvent('optionSelected', { detail: { option } })\n );\n await el.updateComplete;\n\n expect(el.selectedSort).to.equal('relevance');\n expect(el.selectedCreatorFilter).to.be.null;\n });\n\n it('shows sort selector backdrop when mobile sort open', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n const mobileDropdown = el.shadowRoot?.querySelector(\n '#mobile-dropdown'\n ) as IaDropdown;\n expect(mobileDropdown).to.exist;\n\n const caret = mobileDropdown?.shadowRoot?.querySelector(\n '.caret'\n ) as HTMLElement;\n expect(caret).to.exist;\n\n caret?.click();\n await el.updateComplete;\n\n let backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).to.exist;\n\n backdrop?.click();\n await el.updateComplete;\n\n backdrop = el.shadowRoot?.querySelector(\n '#sort-selector-backdrop'\n ) as HTMLElement;\n expect(backdrop).not.to.exist;\n });\n\n it('shows loansTab top-bar slot', async () => {\n const el = await fixture<SortFilterBar>(html`\n <sort-filter-bar></sort-filter-bar>\n `);\n\n el.showLoansTopBar = true;\n await el.updateComplete;\n\n const loansTabSlot = el?.shadowRoot?.querySelector('slot');\n expect(loansTabSlot).to.exist;\n });\n});\n"]}
|
package/package.json
CHANGED
package/src/app-root.ts
CHANGED
|
@@ -380,9 +380,19 @@ export class AppRoot extends LitElement {
|
|
|
380
380
|
id="enable-result-last-tile-slot"
|
|
381
381
|
@click=${this.resultLastTileSlotCheckboxChanged}
|
|
382
382
|
/>
|
|
383
|
-
<label for="enable-result-last-tile-slot"
|
|
384
|
-
|
|
385
|
-
>
|
|
383
|
+
<label for="enable-result-last-tile-slot">
|
|
384
|
+
Show result last tile slot
|
|
385
|
+
</label>
|
|
386
|
+
</div>
|
|
387
|
+
<div class="checkbox-control">
|
|
388
|
+
<input
|
|
389
|
+
type="checkbox"
|
|
390
|
+
id="enable-loanstab-topbar-view"
|
|
391
|
+
@click=${this.loansTabTopBarViewCheckboxChanged}
|
|
392
|
+
/>
|
|
393
|
+
<label for="enable-loanstab-topbar-view">
|
|
394
|
+
Show loans-tab top-bar view
|
|
395
|
+
</label>
|
|
386
396
|
</div>
|
|
387
397
|
</fieldset>
|
|
388
398
|
</div>
|
|
@@ -708,6 +718,30 @@ export class AppRoot extends LitElement {
|
|
|
708
718
|
this.currentPage = pageNumber;
|
|
709
719
|
}
|
|
710
720
|
|
|
721
|
+
/**
|
|
722
|
+
* Handler for when the dev panel's "Show loanstab topbar view" checkbox is changed.
|
|
723
|
+
*/
|
|
724
|
+
private loansTabTopBarViewCheckboxChanged(e: Event) {
|
|
725
|
+
const target = e.target as HTMLInputElement;
|
|
726
|
+
|
|
727
|
+
const p = document.createElement('p');
|
|
728
|
+
p.style.setProperty('border', '1px solid #000');
|
|
729
|
+
p.textContent = 'New stuff as a child.';
|
|
730
|
+
p.style.setProperty('height', '20px');
|
|
731
|
+
p.style.backgroundColor = '#00000';
|
|
732
|
+
p.setAttribute('slot', 'loans-tab-filter-bar-options-slot');
|
|
733
|
+
|
|
734
|
+
if (target.checked) {
|
|
735
|
+
this.collectionBrowser.isLoansTab = true;
|
|
736
|
+
this.collectionBrowser.appendChild(p);
|
|
737
|
+
} else {
|
|
738
|
+
this.collectionBrowser.isLoansTab = false;
|
|
739
|
+
this.collectionBrowser.removeChild(
|
|
740
|
+
this.collectionBrowser.lastElementChild as Element
|
|
741
|
+
);
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
|
|
711
745
|
static styles = css`
|
|
712
746
|
:host {
|
|
713
747
|
display: block;
|
|
@@ -171,6 +171,8 @@ export class CollectionBrowser
|
|
|
171
171
|
*/
|
|
172
172
|
@property({ type: Boolean }) isManageView = false;
|
|
173
173
|
|
|
174
|
+
@property({ type: Boolean }) isLoansTab = false;
|
|
175
|
+
|
|
174
176
|
/**
|
|
175
177
|
* The page that the consumer wants to load.
|
|
176
178
|
*/
|
|
@@ -617,10 +619,15 @@ export class CollectionBrowser
|
|
|
617
619
|
@displayModeChanged=${this.displayModeChanged}
|
|
618
620
|
@titleLetterChanged=${this.titleLetterSelected}
|
|
619
621
|
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
622
|
+
.showLoansTopBar=${this.isLoansTab}
|
|
620
623
|
>
|
|
621
624
|
<div slot="sortbar-left-slot">
|
|
622
625
|
<slot name="sortbar-left-slot"></slot>
|
|
623
626
|
</div>
|
|
627
|
+
<slot
|
|
628
|
+
name="loans-tab-filter-bar-options-slot"
|
|
629
|
+
slot="loans-tab-filter-bar-options-slot"
|
|
630
|
+
></slot>
|
|
624
631
|
</sort-filter-bar>
|
|
625
632
|
`;
|
|
626
633
|
}
|
|
@@ -68,6 +68,9 @@ export class SortFilterBar
|
|
|
68
68
|
/** Whether to show the Date Favorited sort option instead of Date Published/Archived/Reviewed (default `false`) */
|
|
69
69
|
@property({ type: Boolean }) showDateFavorited: boolean = false;
|
|
70
70
|
|
|
71
|
+
/** Whether to show the Loans filter for ProfilePage (default `false`) */
|
|
72
|
+
@property({ type: Boolean }) showLoansTopBar: boolean = false;
|
|
73
|
+
|
|
71
74
|
/** Maps of result counts for letters on the alphabet bar, for each letter filter type */
|
|
72
75
|
@property({ type: Object }) prefixFilterCountMap?: Record<
|
|
73
76
|
PrefixFilterType,
|
|
@@ -130,16 +133,19 @@ export class SortFilterBar
|
|
|
130
133
|
return html`
|
|
131
134
|
<div id="container">
|
|
132
135
|
<section id="sort-bar" aria-label="Sorting options">
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
${!this.showLoansTopBar
|
|
137
|
+
? html`
|
|
138
|
+
<slot name="sortbar-left-slot"></slot>
|
|
139
|
+
<div class="sort-direction-container">
|
|
140
|
+
${this.sortDirectionSelectorTemplate}
|
|
141
|
+
</div>
|
|
142
|
+
<span class="sort-by-text">Sort by:</span>
|
|
143
|
+
<div id="sort-selector-container">
|
|
144
|
+
${this.mobileSortSelectorTemplate}
|
|
145
|
+
${this.desktopSortSelectorTemplate}
|
|
146
|
+
</div>
|
|
147
|
+
`
|
|
148
|
+
: html`<slot name="loans-tab-filter-bar-options-slot"></slot>`}
|
|
143
149
|
|
|
144
150
|
<div id="display-style-selector">${this.displayOptionTemplate}</div>
|
|
145
151
|
</section>
|
|
@@ -1690,4 +1690,15 @@ describe('Collection Browser', () => {
|
|
|
1690
1690
|
await el.updateComplete;
|
|
1691
1691
|
expect(el.isManageView).to.be.false;
|
|
1692
1692
|
});
|
|
1693
|
+
|
|
1694
|
+
it('loans-tab sort-filter-bar', async () => {
|
|
1695
|
+
const el = await fixture<CollectionBrowser>(
|
|
1696
|
+
html`<collection-browser .baseNavigationUrl=${''} .isLoansTab=${true}>
|
|
1697
|
+
</collection-browser>`
|
|
1698
|
+
);
|
|
1699
|
+
const loansTabSlot = el?.shadowRoot?.querySelector('slot');
|
|
1700
|
+
|
|
1701
|
+
expect(el.isLoansTab).to.equal(true);
|
|
1702
|
+
expect(loansTabSlot).to.exist;
|
|
1703
|
+
});
|
|
1693
1704
|
});
|
|
@@ -616,4 +616,16 @@ describe('Sort/filter bar mobile view', () => {
|
|
|
616
616
|
) as HTMLElement;
|
|
617
617
|
expect(backdrop).not.to.exist;
|
|
618
618
|
});
|
|
619
|
+
|
|
620
|
+
it('shows loansTab top-bar slot', async () => {
|
|
621
|
+
const el = await fixture<SortFilterBar>(html`
|
|
622
|
+
<sort-filter-bar></sort-filter-bar>
|
|
623
|
+
`);
|
|
624
|
+
|
|
625
|
+
el.showLoansTopBar = true;
|
|
626
|
+
await el.updateComplete;
|
|
627
|
+
|
|
628
|
+
const loansTabSlot = el?.shadowRoot?.querySelector('slot');
|
|
629
|
+
expect(loansTabSlot).to.exist;
|
|
630
|
+
});
|
|
619
631
|
});
|