q2-tecton-elements 1.45.1 → 1.45.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/dist/cjs/q2-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/collection/components/q2-message/q2-message.css +3 -3
- package/dist/collection/components/q2-stepper/q2-stepper.css +4 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +5 -16
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-message2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/q2-tecton-elements/p-445990a8.entry.js +2 -0
- package/dist/q2-tecton-elements/p-445990a8.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-a977e723.entry.js +2 -0
- package/dist/q2-tecton-elements/p-a977e723.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-c016bd18.entry.js +2 -0
- package/dist/q2-tecton-elements/p-c016bd18.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/test/elements/q2-action-sheet-test.e2e.js +5 -1
- package/dist/test/elements/q2-action-sheet-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-avatar-test.e2e.js +2 -3
- package/dist/test/elements/q2-avatar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-badge-test.e2e.js +5 -1
- package/dist/test/elements/q2-badge-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-btn-test.e2e.js +5 -1
- package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-calendar-test.e2e.js +5 -1
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-card-test.e2e.js +5 -1
- package/dist/test/elements/q2-card-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js +5 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js +5 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +5 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js +5 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js +5 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-currency-test.e2e.js +5 -1
- package/dist/test/elements/q2-currency-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-data-table-test.e2e.js +5 -1
- package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-dropdown-item-test.e2e.js +5 -1
- package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js +5 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js +5 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-icon-test.e2e.js +5 -1
- package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +5 -1
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-loading-test.e2e.js +5 -1
- package/dist/test/elements/q2-loading-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-loc-test.e2e.js +5 -1
- package/dist/test/elements/q2-loc-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-message-test.e2e.js +5 -1
- package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-optgroup-test.e2e.js +5 -1
- package/dist/test/elements/q2-optgroup-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-option-list-test.e2e.js +5 -1
- package/dist/test/elements/q2-option-list-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-option-test.e2e.js +5 -1
- package/dist/test/elements/q2-option-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pagination-test.e2e.js +5 -1
- package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +2 -3
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-popover-test.e2e.js +6 -2
- package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js +5 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-test.e2e.js +5 -1
- package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-relative-time-test.e2e.js +8 -4
- package/dist/test/elements/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-section-test.e2e.js +5 -1
- package/dist/test/elements/q2-section-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-select-test.e2e.js +5 -1
- package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-stepper-pane-test.e2e.js +5 -1
- package/dist/test/elements/q2-stepper-pane-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-stepper-test.e2e.js +5 -1
- package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-stepper-vertical-test.e2e.js +5 -1
- package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tab-container-test.e2e.js +5 -1
- package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tab-pane-test.e2e.js +5 -1
- package/dist/test/elements/q2-tab-pane-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tag-test.e2e.js +2 -3
- package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-textarea-test.e2e.js +5 -1
- package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tooltip-test.e2e.js +5 -1
- package/dist/test/elements/q2-tooltip-test.e2e.js.map +1 -1
- package/dist/test/elements/tecton-tab-pane-test.e2e.js +5 -1
- package/dist/test/elements/tecton-tab-pane-test.e2e.js.map +1 -1
- package/dist/test/helpers.js +1 -1
- package/dist/test/helpers.js.map +1 -1
- package/dist/types/workspace/workspace/tecton-production_release_1.45.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
- package/package.json +3 -3
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-bf125cdf.entry.js +0 -2
- package/dist/q2-tecton-elements/p-bf125cdf.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-f418967b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f418967b.entry.js.map +0 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { setup, dispatchEvent, getActiveElementTestId, base64Image, getNestedElementStyle } from "../helpers";
|
|
1
|
+
import { setup, dispatchEvent, getActiveElementTestId, base64Image, getNestedElementStyle, getListOfStyleCompilationIssues, } from "../helpers";
|
|
2
2
|
describe('q2-card', () => {
|
|
3
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
4
|
+
const page = await setup({ html: '<q2-card></q2-card>' });
|
|
5
|
+
expect(await getListOfStyleCompilationIssues(page, 'q2-card')).toHaveLength(0);
|
|
6
|
+
});
|
|
3
7
|
describe('focus', () => {
|
|
4
8
|
let page;
|
|
5
9
|
beforeEach(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-card-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-card-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup, dispatchEvent, getActiveElementTestId, base64Image, getNestedElementStyle } from '../helpers';\n\ndescribe('q2-card', () => {\n describe('focus', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `<q2-card></q2-card>` });\n\n expect(await getActiveElementTestId(page)).toBeNull();\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await dispatchEvent(page, 'q2-card', 'focus');\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('clickableElement');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n const card = await page.find('q2-card');\n await card.focus();\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('clickableElement');\n });\n });\n\n describe('auto detecting touch devices', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => ((window.ontouchstart as any) = true));\n page.setContent(`<q2-card></q2-card>`);\n await page.waitForChanges();\n });\n\n it('automatically adds is-touch class to clickableElement on render', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n expect(clickableElement.className).toContain('is-touch');\n });\n });\n\n describe('auto detecting small devices', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `<q2-card title=\"Test\"></q2-card>` });\n await page.setViewport({ width: 200, height: 800 });\n await page.waitForChanges();\n });\n\n it('automatically adds is-small class to clickableElement on render', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n });\n\n it('automatically toggles on viewport resize', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n\n await page.setViewport({ width: 800, height: 800 });\n await page.waitForChanges();\n\n expect(clickableElement.className).not.toContain('is-small');\n });\n });\n\n describe('Events', () => {\n describe('click', () => {\n let page: E2EPage;\n let card: E2EElement;\n let clickSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({ html: `<q2-card></q2-card>` });\n card = await page.find('q2-card');\n clickSpy = await card.spyOnEvent('click');\n });\n\n it('emits event when clickableElement is clicked', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n await clickableElement.click();\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n\n it('emits event when event is dispatched', async () => {\n await dispatchEvent(page, 'q2-card', 'click');\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n\n it('emits event when click is called on q2-card', async () => {\n await card.click();\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n });\n });\n\n describe('Props', () => {\n describe('isStatic', () => {\n describe('when not provided', () => {\n it('adds padding', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('20px');\n expect(containerStyles.boxShadow).toEqual('rgba(0, 0, 0, 0.3) 0px 3px 6px 0px');\n expect(containerStyles.borderRadius).toEqual('3px');\n expect(containerStyles.cursor).toEqual('pointer');\n });\n });\n\n describe('when provided', () => {\n it('removes padding', async () => {\n const page = await setup({\n html: `<q2-card is-static></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('0px');\n expect(containerStyles.boxShadow).toEqual('none');\n expect(containerStyles.borderRadius).toEqual('0px');\n expect(containerStyles.cursor).toEqual('auto');\n });\n\n describe('when bar is provided', () => {\n it('adds left padding', async () => {\n const page = await setup({\n html: `<q2-card is-static bar=\"primary\"></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('0px 0px 0px 20px');\n expect(containerStyles.boxShadow).toEqual('none');\n expect(containerStyles.borderRadius).toEqual('0px');\n expect(containerStyles.cursor).toEqual('auto');\n });\n });\n });\n });\n\n describe('bar', () => {\n describe('when not provided', () => {\n it('does not render the bar element', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const bar = await page.find('q2-card >>> [test-id=bar]');\n\n expect(bar).toBeNull();\n });\n });\n\n describe('when provided', () => {\n const getBarColor = async (page: E2EPage) =>\n page.$eval('q2-card', element => {\n const bar = element.shadowRoot.querySelector<HTMLElement>('.bar');\n return bar.style.getPropertyValue('--comp-bar-color');\n });\n it('renders the bar element', async () => {\n const page = await setup({\n html: `<q2-card bar=\"primary\"></q2-card>`,\n });\n const bar = await page.find('q2-card >>> [test-id=bar]');\n\n expect(bar).toBeTruthy();\n });\n\n const constantColors = [\n { propValue: 'info', expectedColor: 'rgb(0, 0, 1)' },\n { propValue: 'success', expectedColor: 'rgb(0, 0, 2)' },\n { propValue: 'warning', expectedColor: 'rgb(0, 0, 3)' },\n { propValue: 'alert', expectedColor: 'rgb(0, 0, 4)' },\n ];\n\n const themeColors = [\n { propValue: 'primary', expectedColor: 'rgb(0, 0, 5)' },\n { propValue: 'secondary', expectedColor: 'rgb(0, 0, 6)' },\n { propValue: 'tertiary', expectedColor: 'rgb(0, 0, 7)' },\n { propValue: 'accent-1', expectedColor: 'rgb(0, 0, 8)' },\n { propValue: 'accent-2', expectedColor: 'rgb(0, 0, 9)' },\n { propValue: 'accent-3', expectedColor: 'rgb(0, 0, 10)' },\n { propValue: 'accent-4', expectedColor: 'rgb(0, 0, 11)' },\n { propValue: 'accent-5', expectedColor: 'rgb(0, 0, 12)' },\n { propValue: 'accent-6', expectedColor: 'rgb(0, 0, 13)' },\n { propValue: 'accent-7', expectedColor: 'rgb(0, 0, 14)' },\n { propValue: 'accent-8', expectedColor: 'rgb(0, 0, 15)' },\n { propValue: 'accent-9', expectedColor: 'rgb(0, 0, 16)' },\n { propValue: 'accent-10', expectedColor: 'rgb(0, 0, 17)' },\n { propValue: 'accent-11', expectedColor: 'rgb(0, 0, 18)' },\n { propValue: 'accent-12', expectedColor: 'rgb(0, 0, 19)' },\n ];\n\n const predefinedColors = [...constantColors, ...themeColors];\n\n predefinedColors.forEach(color => {\n const { propValue, expectedColor } = color;\n\n it(`on load accepts predefined ${propValue} color`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${propValue}\" style=\"--tct-card-bar-color-${propValue}: ${expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(expectedColor);\n });\n\n it(`after load accepts predefined ${propValue} color`, async () => {\n const page = await setup({\n html: `\n <q2-card style=\"--tct-card-bar-color-${propValue}: ${expectedColor}\"></q2-card>\n `,\n });\n const card = await page.find('q2-card');\n card.setAttribute('bar', propValue);\n await page.waitForChanges();\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(expectedColor);\n });\n });\n\n constantColors.forEach(color => {\n it(`predefined color ${color.propValue} falls back to --const-stoplight-${color.propValue}`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${color.propValue}\" style=\"--const-stoplight-${color.propValue}: ${color.expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(color.expectedColor);\n });\n });\n\n themeColors.forEach(color => {\n it(`predefined color ${color.propValue} falls back to --t-${color.propValue}`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${color.propValue}\" style=\"--t-${color.propValue}: ${color.expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(color.expectedColor);\n });\n });\n\n it('accepts hex value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"#000000\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('#000000');\n });\n\n it('accepts hsl value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"hsl(0deg 0% 0%)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('hsl(0deg 0% 0%)');\n });\n\n it('accepts rgb value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"rgb(0, 0, 0)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('rgb(0, 0, 0)');\n });\n\n it('accepts rgba value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"rgba(0, 0, 0, 0.5)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('rgba(0, 0, 0, 0.5)');\n });\n\n it('accepts named colors', async () => {\n const page = await setup({\n html: `<q2-card bar=\"red\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('red');\n });\n });\n });\n\n describe('title', () => {\n describe('when not provided', () => {\n it('does not render the title', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const title = await page.find('q2-card >>> [test-id=description]');\n\n expect(title).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders the title', async () => {\n const page = await setup({\n html: `<q2-card title=\"Checking\"></q2-card>`,\n });\n const title = await page.find('q2-card >>> [test-id=title]');\n\n expect(title.textContent).toEqual('Checking');\n });\n });\n });\n\n describe('description', () => {\n describe('when not provided', () => {\n it('does not render the description', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const description = await page.find('q2-card >>> [test-id=description]');\n\n expect(description).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders the description', async () => {\n const page = await setup({\n html: `<q2-card description=\"This account is empty\"></q2-card>`,\n });\n const description = await page.find('q2-card >>> [test-id=description]');\n\n expect(description.textContent).toEqual('This account is empty');\n });\n });\n });\n\n describe('avatar props', () => {\n describe('when no avatar props are provided', () => {\n it('does not render avatar or add the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toBeNull();\n expect(clickableElement.className).not.toContain('has-avatar');\n });\n });\n\n describe('avatarName', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-name=\"John Doe\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('name', 'John Doe');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarInitials', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-initials=\"JD\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('initials', 'JD');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarIcon', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-icon=\"star\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('type', 'star');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarSrc', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-src=${base64Image}></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('src', base64Image);\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n });\n\n describe('isSmall', () => {\n describe('when not provided', () => {\n it('does not add is-small class to clickableElement', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).not.toContain('is-small');\n });\n });\n\n describe('when provided', () => {\n it('adds is-small class to clickableElement', async () => {\n const page = await setup({\n html: `<q2-card is-small></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n });\n });\n });\n\n describe('isTouch', () => {\n describe('when not provided', () => {\n it('does not render touch indicator icon', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const touchIndicator = await page.find('q2-card >>> [test-id=touchIndicator]');\n\n expect(touchIndicator).toBeNull();\n expect(clickableElement.className).not.toContain('is-touch');\n });\n });\n\n describe('when provided', () => {\n it('renders touch indicator icon', async () => {\n const page = await setup({\n html: `<q2-card is-touch></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const touchIndicator = await page.find('q2-card >>> [test-id=touchIndicator]');\n\n expect(touchIndicator).toBeTruthy();\n expect(clickableElement.className).toContain('is-touch');\n });\n });\n });\n\n describe('url', () => {\n describe('when not provided', () => {\n it('renders a button', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('BUTTON');\n });\n });\n\n describe('when provided', () => {\n it('renders a link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).toEqualAttribute('href', 'https://www.google.com/');\n });\n });\n });\n\n describe('target', () => {\n describe('when not provided', () => {\n it('does not add the target attribute to link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).not.toHaveAttribute('target');\n });\n });\n\n describe('when provided', () => {\n it('adds target attribute to link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\" target=\"_blank\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).toEqualAttribute('target', '_blank');\n });\n });\n });\n\n describe('non-clickable', () => {\n let page: E2EPage;\n let card: E2EElement;\n let element: E2EElement;\n describe('when provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-card type=\"non-clickable\"></q2-card>`,\n });\n card = await page.find('q2-card');\n element = await page.find('q2-card >>> [test-id=clickableElement]');\n });\n\n it('renders a <div>', () => {\n expect(element.tagName).toEqual('DIV');\n });\n it('has non-clickable attribute on q2-card', () => {\n expect(card).toEqualAttribute('type', 'non-clickable');\n });\n it('has non-clickable class name on div', () => {\n expect(element.getAttribute('class')).toContain('non-clickable');\n });\n });\n describe('when not provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-card></q2-card>`,\n });\n card = await page.find('q2-card');\n element = await page.find('q2-card >>> [test-id=clickableElement]');\n });\n\n it('renders a <button>', () => {\n expect(element.tagName).toEqual('BUTTON');\n });\n it('has clickable attribute on q2-card', () => {\n expect(card).toEqualAttribute('type', 'clickable');\n });\n it('has clickable class name on button', () => {\n expect(element.getAttribute('class')).toContain('clickable');\n });\n });\n });\n });\n});\n\n// content?\n// mobile?\n"]}
|
|
1
|
+
{"version":3,"file":"q2-card-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-card-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport {\n setup,\n dispatchEvent,\n getActiveElementTestId,\n base64Image,\n getNestedElementStyle,\n getListOfStyleCompilationIssues,\n} from '../helpers';\n\ndescribe('q2-card', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-card></q2-card>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-card')).toHaveLength(0);\n });\n\n describe('focus', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `<q2-card></q2-card>` });\n\n expect(await getActiveElementTestId(page)).toBeNull();\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await dispatchEvent(page, 'q2-card', 'focus');\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('clickableElement');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n const card = await page.find('q2-card');\n await card.focus();\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('clickableElement');\n });\n });\n\n describe('auto detecting touch devices', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => ((window.ontouchstart as any) = true));\n page.setContent(`<q2-card></q2-card>`);\n await page.waitForChanges();\n });\n\n it('automatically adds is-touch class to clickableElement on render', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n expect(clickableElement.className).toContain('is-touch');\n });\n });\n\n describe('auto detecting small devices', () => {\n let page: E2EPage;\n beforeEach(async () => {\n page = await setup({ html: `<q2-card title=\"Test\"></q2-card>` });\n await page.setViewport({ width: 200, height: 800 });\n await page.waitForChanges();\n });\n\n it('automatically adds is-small class to clickableElement on render', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n });\n\n it('automatically toggles on viewport resize', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n\n await page.setViewport({ width: 800, height: 800 });\n await page.waitForChanges();\n\n expect(clickableElement.className).not.toContain('is-small');\n });\n });\n\n describe('Events', () => {\n describe('click', () => {\n let page: E2EPage;\n let card: E2EElement;\n let clickSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({ html: `<q2-card></q2-card>` });\n card = await page.find('q2-card');\n clickSpy = await card.spyOnEvent('click');\n });\n\n it('emits event when clickableElement is clicked', async () => {\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n await clickableElement.click();\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n\n it('emits event when event is dispatched', async () => {\n await dispatchEvent(page, 'q2-card', 'click');\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n\n it('emits event when click is called on q2-card', async () => {\n await card.click();\n\n expect(clickSpy).toHaveReceivedEvent();\n });\n });\n });\n\n describe('Props', () => {\n describe('isStatic', () => {\n describe('when not provided', () => {\n it('adds padding', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('20px');\n expect(containerStyles.boxShadow).toEqual('rgba(0, 0, 0, 0.3) 0px 3px 6px 0px');\n expect(containerStyles.borderRadius).toEqual('3px');\n expect(containerStyles.cursor).toEqual('pointer');\n });\n });\n\n describe('when provided', () => {\n it('removes padding', async () => {\n const page = await setup({\n html: `<q2-card is-static></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('0px');\n expect(containerStyles.boxShadow).toEqual('none');\n expect(containerStyles.borderRadius).toEqual('0px');\n expect(containerStyles.cursor).toEqual('auto');\n });\n\n describe('when bar is provided', () => {\n it('adds left padding', async () => {\n const page = await setup({\n html: `<q2-card is-static bar=\"primary\"></q2-card>`,\n });\n const container = await page.find('q2-card >>> .container');\n const containerStyles = await container.getComputedStyle();\n\n expect(containerStyles.padding).toEqual('0px 0px 0px 20px');\n expect(containerStyles.boxShadow).toEqual('none');\n expect(containerStyles.borderRadius).toEqual('0px');\n expect(containerStyles.cursor).toEqual('auto');\n });\n });\n });\n });\n\n describe('bar', () => {\n describe('when not provided', () => {\n it('does not render the bar element', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const bar = await page.find('q2-card >>> [test-id=bar]');\n\n expect(bar).toBeNull();\n });\n });\n\n describe('when provided', () => {\n const getBarColor = async (page: E2EPage) =>\n page.$eval('q2-card', element => {\n const bar = element.shadowRoot.querySelector<HTMLElement>('.bar');\n return bar.style.getPropertyValue('--comp-bar-color');\n });\n it('renders the bar element', async () => {\n const page = await setup({\n html: `<q2-card bar=\"primary\"></q2-card>`,\n });\n const bar = await page.find('q2-card >>> [test-id=bar]');\n\n expect(bar).toBeTruthy();\n });\n\n const constantColors = [\n { propValue: 'info', expectedColor: 'rgb(0, 0, 1)' },\n { propValue: 'success', expectedColor: 'rgb(0, 0, 2)' },\n { propValue: 'warning', expectedColor: 'rgb(0, 0, 3)' },\n { propValue: 'alert', expectedColor: 'rgb(0, 0, 4)' },\n ];\n\n const themeColors = [\n { propValue: 'primary', expectedColor: 'rgb(0, 0, 5)' },\n { propValue: 'secondary', expectedColor: 'rgb(0, 0, 6)' },\n { propValue: 'tertiary', expectedColor: 'rgb(0, 0, 7)' },\n { propValue: 'accent-1', expectedColor: 'rgb(0, 0, 8)' },\n { propValue: 'accent-2', expectedColor: 'rgb(0, 0, 9)' },\n { propValue: 'accent-3', expectedColor: 'rgb(0, 0, 10)' },\n { propValue: 'accent-4', expectedColor: 'rgb(0, 0, 11)' },\n { propValue: 'accent-5', expectedColor: 'rgb(0, 0, 12)' },\n { propValue: 'accent-6', expectedColor: 'rgb(0, 0, 13)' },\n { propValue: 'accent-7', expectedColor: 'rgb(0, 0, 14)' },\n { propValue: 'accent-8', expectedColor: 'rgb(0, 0, 15)' },\n { propValue: 'accent-9', expectedColor: 'rgb(0, 0, 16)' },\n { propValue: 'accent-10', expectedColor: 'rgb(0, 0, 17)' },\n { propValue: 'accent-11', expectedColor: 'rgb(0, 0, 18)' },\n { propValue: 'accent-12', expectedColor: 'rgb(0, 0, 19)' },\n ];\n\n const predefinedColors = [...constantColors, ...themeColors];\n\n predefinedColors.forEach(color => {\n const { propValue, expectedColor } = color;\n\n it(`on load accepts predefined ${propValue} color`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${propValue}\" style=\"--tct-card-bar-color-${propValue}: ${expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(expectedColor);\n });\n\n it(`after load accepts predefined ${propValue} color`, async () => {\n const page = await setup({\n html: `\n <q2-card style=\"--tct-card-bar-color-${propValue}: ${expectedColor}\"></q2-card>\n `,\n });\n const card = await page.find('q2-card');\n card.setAttribute('bar', propValue);\n await page.waitForChanges();\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(expectedColor);\n });\n });\n\n constantColors.forEach(color => {\n it(`predefined color ${color.propValue} falls back to --const-stoplight-${color.propValue}`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${color.propValue}\" style=\"--const-stoplight-${color.propValue}: ${color.expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(color.expectedColor);\n });\n });\n\n themeColors.forEach(color => {\n it(`predefined color ${color.propValue} falls back to --t-${color.propValue}`, async () => {\n const page = await setup({\n html: `\n <q2-card bar=\"${color.propValue}\" style=\"--t-${color.propValue}: ${color.expectedColor}\"></q2-card>\n `,\n });\n const barBackgroundColor = await getNestedElementStyle(\n page,\n ['q2-card', '[test-id=bar]'],\n 'backgroundColor'\n );\n\n expect(barBackgroundColor).toEqual(color.expectedColor);\n });\n });\n\n it('accepts hex value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"#000000\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('#000000');\n });\n\n it('accepts hsl value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"hsl(0deg 0% 0%)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('hsl(0deg 0% 0%)');\n });\n\n it('accepts rgb value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"rgb(0, 0, 0)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('rgb(0, 0, 0)');\n });\n\n it('accepts rgba value', async () => {\n const page = await setup({\n html: `<q2-card bar=\"rgba(0, 0, 0, 0.5)\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('rgba(0, 0, 0, 0.5)');\n });\n\n it('accepts named colors', async () => {\n const page = await setup({\n html: `<q2-card bar=\"red\"></q2-card>`,\n });\n\n expect(await getBarColor(page)).toEqual('red');\n });\n });\n });\n\n describe('title', () => {\n describe('when not provided', () => {\n it('does not render the title', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const title = await page.find('q2-card >>> [test-id=description]');\n\n expect(title).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders the title', async () => {\n const page = await setup({\n html: `<q2-card title=\"Checking\"></q2-card>`,\n });\n const title = await page.find('q2-card >>> [test-id=title]');\n\n expect(title.textContent).toEqual('Checking');\n });\n });\n });\n\n describe('description', () => {\n describe('when not provided', () => {\n it('does not render the description', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const description = await page.find('q2-card >>> [test-id=description]');\n\n expect(description).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders the description', async () => {\n const page = await setup({\n html: `<q2-card description=\"This account is empty\"></q2-card>`,\n });\n const description = await page.find('q2-card >>> [test-id=description]');\n\n expect(description.textContent).toEqual('This account is empty');\n });\n });\n });\n\n describe('avatar props', () => {\n describe('when no avatar props are provided', () => {\n it('does not render avatar or add the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toBeNull();\n expect(clickableElement.className).not.toContain('has-avatar');\n });\n });\n\n describe('avatarName', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-name=\"John Doe\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('name', 'John Doe');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarInitials', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-initials=\"JD\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('initials', 'JD');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarIcon', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-icon=\"star\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('type', 'star');\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n\n describe('avatarSrc', () => {\n describe('when provided', () => {\n it('renders the avatar and adds the has-avatar class', async () => {\n const page = await setup({\n html: `<q2-card avatar-src=${base64Image}></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const avatar = await page.find('q2-card >>> [test-id=avatar]');\n\n expect(avatar).toEqualAttribute('src', base64Image);\n expect(clickableElement.className).toContain('has-avatar');\n });\n });\n });\n });\n\n describe('isSmall', () => {\n describe('when not provided', () => {\n it('does not add is-small class to clickableElement', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).not.toContain('is-small');\n });\n });\n\n describe('when provided', () => {\n it('adds is-small class to clickableElement', async () => {\n const page = await setup({\n html: `<q2-card is-small></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.className).toContain('is-small');\n });\n });\n });\n\n describe('isTouch', () => {\n describe('when not provided', () => {\n it('does not render touch indicator icon', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const touchIndicator = await page.find('q2-card >>> [test-id=touchIndicator]');\n\n expect(touchIndicator).toBeNull();\n expect(clickableElement.className).not.toContain('is-touch');\n });\n });\n\n describe('when provided', () => {\n it('renders touch indicator icon', async () => {\n const page = await setup({\n html: `<q2-card is-touch></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n const touchIndicator = await page.find('q2-card >>> [test-id=touchIndicator]');\n\n expect(touchIndicator).toBeTruthy();\n expect(clickableElement.className).toContain('is-touch');\n });\n });\n });\n\n describe('url', () => {\n describe('when not provided', () => {\n it('renders a button', async () => {\n const page = await setup({\n html: `<q2-card></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('BUTTON');\n });\n });\n\n describe('when provided', () => {\n it('renders a link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).toEqualAttribute('href', 'https://www.google.com/');\n });\n });\n });\n\n describe('target', () => {\n describe('when not provided', () => {\n it('does not add the target attribute to link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).not.toHaveAttribute('target');\n });\n });\n\n describe('when provided', () => {\n it('adds target attribute to link', async () => {\n const page = await setup({\n html: `<q2-card url=\"https://www.google.com/\" target=\"_blank\"></q2-card>`,\n });\n const clickableElement = await page.find('q2-card >>> [test-id=clickableElement]');\n\n expect(clickableElement.tagName).toEqual('A');\n expect(clickableElement).toEqualAttribute('target', '_blank');\n });\n });\n });\n\n describe('non-clickable', () => {\n let page: E2EPage;\n let card: E2EElement;\n let element: E2EElement;\n describe('when provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-card type=\"non-clickable\"></q2-card>`,\n });\n card = await page.find('q2-card');\n element = await page.find('q2-card >>> [test-id=clickableElement]');\n });\n\n it('renders a <div>', () => {\n expect(element.tagName).toEqual('DIV');\n });\n it('has non-clickable attribute on q2-card', () => {\n expect(card).toEqualAttribute('type', 'non-clickable');\n });\n it('has non-clickable class name on div', () => {\n expect(element.getAttribute('class')).toContain('non-clickable');\n });\n });\n describe('when not provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-card></q2-card>`,\n });\n card = await page.find('q2-card');\n element = await page.find('q2-card >>> [test-id=clickableElement]');\n });\n\n it('renders a <button>', () => {\n expect(element.tagName).toEqual('BUTTON');\n });\n it('has clickable attribute on q2-card', () => {\n expect(card).toEqualAttribute('type', 'clickable');\n });\n it('has clickable class name on button', () => {\n expect(element.getAttribute('class')).toContain('clickable');\n });\n });\n });\n });\n});\n\n// content?\n// mobile?\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup, setTestStrings } from "../helpers";
|
|
1
|
+
import { setup, setTestStrings, getListOfStyleCompilationIssues } from "../helpers";
|
|
2
2
|
describe('q2-chart-area', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let chart;
|
|
@@ -18,6 +18,10 @@ describe('q2-chart-area', () => {
|
|
|
18
18
|
]);
|
|
19
19
|
await page.waitForChanges();
|
|
20
20
|
});
|
|
21
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
22
|
+
const page = await setup({ html: '<q2-chart-area></q2-chart-area>' });
|
|
23
|
+
expect(await getListOfStyleCompilationIssues(page, 'q2-chart-area')).toHaveLength(0);
|
|
24
|
+
});
|
|
21
25
|
it('renders a canvas element', async () => {
|
|
22
26
|
const canvas = await page.find('q2-chart-area >>> canvas');
|
|
23
27
|
expect(canvas).toBeTruthy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-area-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-area-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"q2-chart-area-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-area-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { setup, setTestStrings, getListOfStyleCompilationIssues } from '../helpers';\n\ndescribe('q2-chart-area', () => {\n let page: E2EPage;\n let chart: E2EElement;\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await page.setContent('<q2-chart-area></q2-chart-area>');\n chart = await page.find('q2-chart-area');\n chart.setProperty('chartName', 'Weekly spending');\n chart.setProperty('data', [\n { value: 45, name: 'Sun', id: 'sunday' },\n { value: 36, name: 'Mon', id: 'monday' },\n { value: 62, name: 'Tue', id: 'tuesday' },\n { value: 51, name: 'Wed', id: 'wednesday' },\n { value: 104, name: 'Thu', id: 'thursday' },\n { value: 122, name: 'Fri', id: 'friday' },\n { value: 215, name: 'Sat', id: 'saturday' },\n ]);\n await page.waitForChanges();\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-chart-area></q2-chart-area>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-chart-area')).toHaveLength(0);\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-area >>> canvas');\n expect(canvas).toBeTruthy();\n });\n\n it('renders a descriptive aria-label for the chart', async () => {\n const chartContainer = await page.find('q2-chart-area >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n expect(ariaLabelText).toContain('This is a chart about \"Weekly spending\" with type Line chart');\n expect(ariaLabelText).toContain('the data for Sun is 0, 45');\n expect(ariaLabelText).toContain('the data for Mon is 1, 36');\n expect(ariaLabelText).toContain('the data for Tue is 2, 62');\n expect(ariaLabelText).toContain('the data for Wed is 3, 51');\n expect(ariaLabelText).toContain('the data for Thu is 4, 104');\n expect(ariaLabelText).toContain('the data for Fri is 5, 122');\n expect(ariaLabelText).toContain('the data for Sat is 6, 215');\n });\n describe('chartName', () => {\n describe('when provided', () => {\n it('renders with provided chartName', async () => {\n page = await setup({ html: `` });\n await page.setContent('<q2-chart-area></q2-chart-area>');\n chart = await page.find('q2-chart-area');\n chart.setProperty('chartName', 'Weekly spending');\n await page.waitForChanges();\n\n expect(await chart.getProperty('chartName')).toEqualText('Weekly spending');\n });\n });\n describe('when provided a custom name translation', () => {\n it('renders the translated value', async () => {\n page = await setup({\n html: ``,\n });\n await setTestStrings(page, {\n 'q2ChartArea.customName': 'Custom Chart Name',\n });\n page.setContent(`<q2-chart-area chart-name=\"q2ChartArea.customName\"></q2-chart-area>`);\n await page.waitForChanges();\n chart = await page.find('q2-chart-area');\n const chartContainer = await page.find('q2-chart-area >>> .chart-container');\n const ariaLabelText = chartContainer.getAttribute('aria-label');\n\n expect(await chart.getProperty('chartName')).toEqualText('q2ChartArea.customName');\n expect(ariaLabelText).toContain('This is a chart about \"Custom Chart Name\" with type Line chart');\n });\n });\n });\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup, setTestStrings } from "../helpers";
|
|
1
|
+
import { setup, setTestStrings, getListOfStyleCompilationIssues } from "../helpers";
|
|
2
2
|
describe('q2-chart-bar', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let chart;
|
|
@@ -16,6 +16,10 @@ describe('q2-chart-bar', () => {
|
|
|
16
16
|
]);
|
|
17
17
|
await page.waitForChanges();
|
|
18
18
|
});
|
|
19
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
20
|
+
const page = await setup({ html: '<q2-chart-bar></q2-chart-bar>' });
|
|
21
|
+
expect(await getListOfStyleCompilationIssues(page, 'q2-chart-bar')).toHaveLength(0);
|
|
22
|
+
});
|
|
19
23
|
it('renders a canvas element', async () => {
|
|
20
24
|
const canvas = await page.find('q2-chart-bar >>> canvas');
|
|
21
25
|
expect(canvas).toBeTruthy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-bar-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-bar-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"q2-chart-bar-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-bar-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { setup, setTestStrings, getListOfStyleCompilationIssues } from '../helpers';\n\ndescribe('q2-chart-bar', () => {\n let page: E2EPage;\n let chart: E2EElement;\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await page.setContent('<q2-chart-bar></q2-chart-bar>');\n chart = await page.find('q2-chart-bar');\n chart.setProperty('chartName', 'Month-to-month spending');\n chart.setProperty('data', [\n { value: 1048, name: 'March', id: 'march', color: 'green' },\n { value: 580, name: 'April', id: 'april' },\n { value: 735, name: 'May', id: 'may' },\n { value: 465, name: 'June', id: 'june', color: 'var(--const-stoplight-warning)' },\n { value: 927, name: 'July', id: 'july' },\n ]);\n await page.waitForChanges();\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-chart-bar></q2-chart-bar>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-chart-bar')).toHaveLength(0);\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-bar >>> canvas');\n expect(canvas).toBeTruthy();\n });\n\n it('renders a descriptive aria-label for the chart', async () => {\n const chartContainer = await page.find('q2-chart-bar >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n expect(ariaLabelText).toContain('This is a chart about \"Month-to-month spending\" with type Bar chart');\n expect(ariaLabelText).toContain('the data for March is 0, 1048');\n expect(ariaLabelText).toContain('the data for April is 1, 580');\n expect(ariaLabelText).toContain('the data for May is 2, 735');\n expect(ariaLabelText).toContain('the data for June is 3, 465');\n expect(ariaLabelText).toContain('the data for July is 4, 927');\n });\n describe('chartName', () => {\n describe('when provided', () => {\n it('renders with provided chartName', async () => {\n page = await setup({ html: `` });\n await page.setContent('<q2-chart-bar></q2-chart-bar>');\n chart = await page.find('q2-chart-bar');\n chart.setProperty('chartName', 'Month-to-month spending');\n await page.waitForChanges();\n\n expect(await chart.getProperty('chartName')).toEqualText('Month-to-month spending');\n });\n });\n describe('when provided a custom name translation', () => {\n it('renders the translated value', async () => {\n page = await setup({\n html: ``,\n });\n await setTestStrings(page, {\n 'q2ChartBar.customName': 'Custom Chart Name',\n });\n page.setContent(`<q2-chart-bar chart-name=\"q2ChartBar.customName\"></q2-chart-bar>`);\n await page.waitForChanges();\n chart = await page.find('q2-chart-bar');\n const chartContainer = await page.find('q2-chart-bar >>> .chart-container');\n const ariaLabelText = chartContainer.getAttribute('aria-label');\n\n expect(await chart.getProperty('chartName')).toEqual('q2ChartBar.customName');\n expect(ariaLabelText).toContain('This is a chart about \"Custom Chart Name\" with type Bar chart');\n });\n });\n });\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup, getFocusedAttribute, setTestStrings, evaluateA11y } from "../helpers";
|
|
1
|
+
import { setup, getFocusedAttribute, setTestStrings, evaluateA11y, getListOfStyleCompilationIssues } from "../helpers";
|
|
2
2
|
describe('q2-chart-donut', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let chart;
|
|
@@ -44,6 +44,10 @@ describe('q2-chart-donut', () => {
|
|
|
44
44
|
'tecton.element.chartDonut.button.roleDescription': 'Chart button',
|
|
45
45
|
});
|
|
46
46
|
});
|
|
47
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
48
|
+
const page = await setup({ html: '<q2-chart-donut></q2-chart-donut>' });
|
|
49
|
+
expect(await getListOfStyleCompilationIssues(page, 'q2-chart-donut')).toHaveLength(0);
|
|
50
|
+
});
|
|
47
51
|
it('renders a canvas element', async () => {
|
|
48
52
|
await setupChart(page);
|
|
49
53
|
const canvas = await page.find('q2-chart-donut >>> canvas');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-donut-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-donut-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup, getFocusedAttribute, setTestStrings, evaluateA11y } from '../helpers';\n\ndescribe('q2-chart-donut', () => {\n let page: E2EPage;\n let chart: E2EElement;\n let centerCard: E2EElement;\n let name: E2EElement;\n let icon: E2EElement;\n let value: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n const selectById = async (page: E2EPage, id: string) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, id: string) => element.selectById(id),\n id\n );\n };\n\n const selectByIndex = async (page: E2EPage, index: number) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, index: number) => element.selectByIndex(index),\n index\n );\n };\n\n const clearSelection = async (page: E2EPage) => {\n return page.$eval('q2-chart-donut', (element: HTMLQ2ChartDonutElement) => element.clearSelection());\n };\n\n const getOptions = async (page: E2EPage) => {\n return page.evaluate(async () => {\n const chartElement = document.querySelector('q2-chart-donut');\n const chartInstance = await chartElement.getChartOptions();\n return chartInstance.series[0];\n });\n };\n\n const setupChart = async (page: E2EPage, props: string = '') => {\n await page.setContent(`<q2-chart-donut ${props}></q2-chart-donut>`);\n chart = await page.find('q2-chart-donut');\n chart.setProperty('data', [\n { value: 1048, name: 'Groceries', id: 'groceries', icon: 'cart' },\n { value: 735, name: 'Pets', id: 'pets', icon: 'paw' },\n { value: 580, name: 'Rent', id: 'rent', icon: 'home', color: 'var(--const-stoplight-info)' },\n { value: 484, name: 'Automobile', id: 'automobiles', icon: 'car' },\n { value: 300, name: 'Gifts', id: 'gifts', icon: 'gift', color: 'rebeccapurple' },\n ]);\n await page.waitForChanges();\n };\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.chartDonut.button.summaryName': 'Total',\n 'tecton.element.chartDonut.button.description':\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.',\n 'tecton.element.chartDonut.button.roleDescription': 'Chart button',\n });\n });\n\n it('renders a canvas element', async () => {\n await setupChart(page);\n const canvas = await page.find('q2-chart-donut >>> canvas');\n\n expect(canvas).toBeTruthy();\n });\n\n it('adds color properties to q2-icon', async () => {\n await setupChart(page);\n const getIconStyleProp = async (page: E2EPage, prop: string) =>\n page.$eval(\n 'q2-chart-donut',\n (element, [prop]) => {\n return element.shadowRoot.querySelector<HTMLElement>('q2-icon').style.getPropertyValue(prop);\n },\n [prop]\n );\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n expect(await getIconStyleProp(page, '--tct-icon-stroke-primary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, '--tct-icon-stroke-secondary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, 'color')).toBe('var(--const-stoplight-info)');\n });\n\n describe('[A11y] guideline compliance', () => {\n it('renders a descriptive aria-label for the chart', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n await page.waitForChanges();\n\n const chartContainer = await page.find('q2-chart-donut >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n\n // this text is provided through the built-in accessibility feature from the Apache Echarts library when 'aria: true' is set in the chart options\n expect(ariaLabelText).toContain(\n 'This is a chart with type Pie chart named Recent Spending.The data is as follows: the data for Groceries is 1048, the data for Pets is 735, the data for Rent is 580, the data for Automobile is 484, the data for Gifts is 300.'\n );\n });\n it('renders a descriptive aria-describedby element for the chart', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n const descriptionDiv = await page.find('q2-chart-donut >>> [id=center-card-description]');\n\n expect(descriptionDiv.innerText).toEqual(\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.'\n );\n });\n it('Does not have accessibility violations', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n await page.waitForChanges();\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Props', () => {\n describe('summaryName', () => {\n describe('when not provided', () => {\n it('renders with default value', async () => {\n await setupChart(page);\n name = await page.find('q2-chart-donut >>> .name');\n\n expect(name).toEqualText('Total');\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('summaryName', 'All The Things');\n await page.waitForChanges();\n name = await page.find('q2-chart-donut >>> .name');\n\n expect(name).toEqualText('All The Things');\n });\n });\n });\n\n describe('summaryIcon', () => {\n describe('when not provided', () => {\n it('does not render', async () => {\n await setupChart(page);\n icon = await page.find('q2-chart-donut >>> .icon');\n\n expect(icon).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('summaryIcon', 'coins');\n await page.waitForChanges();\n icon = await page.find('q2-chart-donut >>> q2-icon');\n\n expect(icon).toEqualAttribute('type', 'coins');\n });\n });\n });\n\n describe('format', () => {\n describe('when not provided', () => {\n it('renders default format', async () => {\n await setupChart(page);\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('when provided', () => {\n it('renders as currency', async () => {\n await setupChart(page);\n chart.setProperty('format', 'currency');\n await page.waitForChanges();\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(value).toEqualText('$3,147.00');\n });\n });\n });\n\n describe('isClickable', () => {\n describe('when not provided', () => {\n it('renders center content in a div', async () => {\n await setupChart(page);\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n\n expect(centerCard.tagName).toEqualText('DIV');\n expect(centerCard).not.toHaveAttribute('aria-description');\n expect(centerCard).not.toHaveAttribute('aria-roledescription');\n });\n });\n\n describe('when provided', () => {\n it('renders center content in a button', async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n\n expect(centerCard.tagName).toEqualText('BUTTON');\n expect(centerCard).toEqualAttribute('aria-roledescription', 'Chart button');\n expect(centerCard).toEqualAttribute('aria-describedby', 'center-card-description');\n });\n });\n });\n\n describe('minSliceSize', () => {\n const convertSliceSizeToAngle = (sliceSize: string) => {\n return (parseFloat(sliceSize) / 100) * 360;\n };\n const getMinAngle = async (page: E2EPage) => {\n const options = await getOptions(page);\n return options.minAngle;\n };\n const sliceSize = '9.5%';\n\n describe('when not provided', () => {\n it('renders with default value', async () => {\n await setupChart(page);\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle('2.5%'));\n });\n });\n\n describe('when provided', () => {\n it('on load renders with provided value', async () => {\n await setupChart(page, `min-slice-size=\"${sliceSize}\"`);\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle(sliceSize));\n });\n it('after load renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('minSliceSize', sliceSize);\n await page.waitForChanges();\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle(sliceSize));\n });\n });\n });\n });\n\n describe('Watchers', () => {\n describe('innerRadius', () => {\n describe('when changed to a value greater than outerRadius', () => {\n it('reverts the value to be 15% less than the outerRadius', async () => {\n await setupChart(page);\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('innerRadius', '90%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n });\n });\n });\n\n describe('outerRadius', () => {\n describe('when changed to a value less than innerRadius', () => {\n it('reverts the value to be 15% more than the innerRadius', async () => {\n await setupChart(page);\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('outerRadius', '65%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n });\n });\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n await setupChart(page);\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n describe('selectById', () => {\n it('selects the correct slice by id', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(icon).toEqualAttribute('type', 'home');\n expect(name).toEqualText('Rent');\n expect(value).toEqualText('580');\n });\n\n it('does not emit event when invalid id is passed', async () => {\n await selectById(page, 'iron-man');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('selectByIndex', () => {\n it('selects the correct slice by index', async () => {\n await selectByIndex(page, 1);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'pets',\n name: 'Pets',\n value: 735,\n icon: 'paw',\n });\n expect(icon).toEqualAttribute('type', 'paw');\n expect(name).toEqualText('Pets');\n expect(value).toEqualText('735');\n });\n\n it('does not emit event when invalid index is passed', async () => {\n await selectByIndex(page, 10);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('clearSelection', () => {\n beforeEach(async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n });\n\n it('clears the selected slice', async () => {\n await clearSelection(page);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n clickSpy = await chart.spyOnEvent('click');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n it('emits a click event when clicked', async () => {\n await centerCard.click();\n\n expect(clickSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n\n it('emits a click event when clicked', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n await centerCard.click();\n\n expect(clickSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n });\n\n it('emits a change event when arrow keys are pressed', async () => {\n await centerCard.press('ArrowLeft');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'gifts',\n name: 'Gifts',\n value: 300,\n icon: 'gift',\n color: 'rebeccapurple',\n });\n\n await centerCard.press('ArrowRight');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'groceries',\n name: 'Groceries',\n value: 1048,\n icon: 'cart',\n });\n\n await centerCard.press('Escape');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n });\n\n describe('focus', () => {\n it('does not focus anything when focus event is dispatched', async function (): Promise<void> {\n await setupChart(page);\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n it('does not focus anything when element.focus() is called', async function (): Promise<void> {\n await setupChart(page);\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n });\n\n it('focuses center button when focus event is dispatched', async function (): Promise<void> {\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n\n it('focuses center button when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n });\n });\n\n describe('emphasis chart option', () => {\n it('is enabled in desktop environment', async () => {\n await setupChart(page);\n const options = await getOptions(page);\n const emphasisDisabled = options.emphasis.disabled;\n expect(emphasisDisabled).toBe(false);\n });\n\n it('is disabled in mobile environment', async () => {\n await page.setViewport({\n width: 375,\n height: 812,\n deviceScaleFactor: 3,\n isMobile: true,\n hasTouch: true,\n isLandscape: false,\n });\n await page.setUserAgent(\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1'\n );\n await setupChart(page);\n const options = await getOptions(page);\n const emphasisDisabled = options.emphasis.disabled;\n expect(emphasisDisabled).toBe(true);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-chart-donut-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-donut-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup, getFocusedAttribute, setTestStrings, evaluateA11y, getListOfStyleCompilationIssues } from '../helpers';\n\ndescribe('q2-chart-donut', () => {\n let page: E2EPage;\n let chart: E2EElement;\n let centerCard: E2EElement;\n let name: E2EElement;\n let icon: E2EElement;\n let value: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n const selectById = async (page: E2EPage, id: string) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, id: string) => element.selectById(id),\n id\n );\n };\n\n const selectByIndex = async (page: E2EPage, index: number) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, index: number) => element.selectByIndex(index),\n index\n );\n };\n\n const clearSelection = async (page: E2EPage) => {\n return page.$eval('q2-chart-donut', (element: HTMLQ2ChartDonutElement) => element.clearSelection());\n };\n\n const getOptions = async (page: E2EPage) => {\n return page.evaluate(async () => {\n const chartElement = document.querySelector('q2-chart-donut');\n const chartInstance = await chartElement.getChartOptions();\n return chartInstance.series[0];\n });\n };\n\n const setupChart = async (page: E2EPage, props: string = '') => {\n await page.setContent(`<q2-chart-donut ${props}></q2-chart-donut>`);\n chart = await page.find('q2-chart-donut');\n chart.setProperty('data', [\n { value: 1048, name: 'Groceries', id: 'groceries', icon: 'cart' },\n { value: 735, name: 'Pets', id: 'pets', icon: 'paw' },\n { value: 580, name: 'Rent', id: 'rent', icon: 'home', color: 'var(--const-stoplight-info)' },\n { value: 484, name: 'Automobile', id: 'automobiles', icon: 'car' },\n { value: 300, name: 'Gifts', id: 'gifts', icon: 'gift', color: 'rebeccapurple' },\n ]);\n await page.waitForChanges();\n };\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.chartDonut.button.summaryName': 'Total',\n 'tecton.element.chartDonut.button.description':\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.',\n 'tecton.element.chartDonut.button.roleDescription': 'Chart button',\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-chart-donut></q2-chart-donut>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-chart-donut')).toHaveLength(0);\n });\n\n it('renders a canvas element', async () => {\n await setupChart(page);\n const canvas = await page.find('q2-chart-donut >>> canvas');\n\n expect(canvas).toBeTruthy();\n });\n\n it('adds color properties to q2-icon', async () => {\n await setupChart(page);\n const getIconStyleProp = async (page: E2EPage, prop: string) =>\n page.$eval(\n 'q2-chart-donut',\n (element, [prop]) => {\n return element.shadowRoot.querySelector<HTMLElement>('q2-icon').style.getPropertyValue(prop);\n },\n [prop]\n );\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n expect(await getIconStyleProp(page, '--tct-icon-stroke-primary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, '--tct-icon-stroke-secondary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, 'color')).toBe('var(--const-stoplight-info)');\n });\n\n describe('[A11y] guideline compliance', () => {\n it('renders a descriptive aria-label for the chart', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n await page.waitForChanges();\n\n const chartContainer = await page.find('q2-chart-donut >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n\n // this text is provided through the built-in accessibility feature from the Apache Echarts library when 'aria: true' is set in the chart options\n expect(ariaLabelText).toContain(\n 'This is a chart with type Pie chart named Recent Spending.The data is as follows: the data for Groceries is 1048, the data for Pets is 735, the data for Rent is 580, the data for Automobile is 484, the data for Gifts is 300.'\n );\n });\n it('renders a descriptive aria-describedby element for the chart', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n const descriptionDiv = await page.find('q2-chart-donut >>> [id=center-card-description]');\n\n expect(descriptionDiv.innerText).toEqual(\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.'\n );\n });\n it('Does not have accessibility violations', async () => {\n await setupChart(page);\n chart.setProperty('chartName', 'Recent Spending');\n await page.waitForChanges();\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Props', () => {\n describe('summaryName', () => {\n describe('when not provided', () => {\n it('renders with default value', async () => {\n await setupChart(page);\n name = await page.find('q2-chart-donut >>> .name');\n\n expect(name).toEqualText('Total');\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('summaryName', 'All The Things');\n await page.waitForChanges();\n name = await page.find('q2-chart-donut >>> .name');\n\n expect(name).toEqualText('All The Things');\n });\n });\n });\n\n describe('summaryIcon', () => {\n describe('when not provided', () => {\n it('does not render', async () => {\n await setupChart(page);\n icon = await page.find('q2-chart-donut >>> .icon');\n\n expect(icon).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('summaryIcon', 'coins');\n await page.waitForChanges();\n icon = await page.find('q2-chart-donut >>> q2-icon');\n\n expect(icon).toEqualAttribute('type', 'coins');\n });\n });\n });\n\n describe('format', () => {\n describe('when not provided', () => {\n it('renders default format', async () => {\n await setupChart(page);\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('when provided', () => {\n it('renders as currency', async () => {\n await setupChart(page);\n chart.setProperty('format', 'currency');\n await page.waitForChanges();\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(value).toEqualText('$3,147.00');\n });\n });\n });\n\n describe('isClickable', () => {\n describe('when not provided', () => {\n it('renders center content in a div', async () => {\n await setupChart(page);\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n\n expect(centerCard.tagName).toEqualText('DIV');\n expect(centerCard).not.toHaveAttribute('aria-description');\n expect(centerCard).not.toHaveAttribute('aria-roledescription');\n });\n });\n\n describe('when provided', () => {\n it('renders center content in a button', async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n\n expect(centerCard.tagName).toEqualText('BUTTON');\n expect(centerCard).toEqualAttribute('aria-roledescription', 'Chart button');\n expect(centerCard).toEqualAttribute('aria-describedby', 'center-card-description');\n });\n });\n });\n\n describe('minSliceSize', () => {\n const convertSliceSizeToAngle = (sliceSize: string) => {\n return (parseFloat(sliceSize) / 100) * 360;\n };\n const getMinAngle = async (page: E2EPage) => {\n const options = await getOptions(page);\n return options.minAngle;\n };\n const sliceSize = '9.5%';\n\n describe('when not provided', () => {\n it('renders with default value', async () => {\n await setupChart(page);\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle('2.5%'));\n });\n });\n\n describe('when provided', () => {\n it('on load renders with provided value', async () => {\n await setupChart(page, `min-slice-size=\"${sliceSize}\"`);\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle(sliceSize));\n });\n it('after load renders with provided value', async () => {\n await setupChart(page);\n chart.setProperty('minSliceSize', sliceSize);\n await page.waitForChanges();\n const minAngle = await getMinAngle(page);\n\n expect(minAngle).toEqual(convertSliceSizeToAngle(sliceSize));\n });\n });\n });\n });\n\n describe('Watchers', () => {\n describe('innerRadius', () => {\n describe('when changed to a value greater than outerRadius', () => {\n it('reverts the value to be 15% less than the outerRadius', async () => {\n await setupChart(page);\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('innerRadius', '90%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n });\n });\n });\n\n describe('outerRadius', () => {\n describe('when changed to a value less than innerRadius', () => {\n it('reverts the value to be 15% more than the innerRadius', async () => {\n await setupChart(page);\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('outerRadius', '65%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n });\n });\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n await setupChart(page);\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n describe('selectById', () => {\n it('selects the correct slice by id', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(icon).toEqualAttribute('type', 'home');\n expect(name).toEqualText('Rent');\n expect(value).toEqualText('580');\n });\n\n it('does not emit event when invalid id is passed', async () => {\n await selectById(page, 'iron-man');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('selectByIndex', () => {\n it('selects the correct slice by index', async () => {\n await selectByIndex(page, 1);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'pets',\n name: 'Pets',\n value: 735,\n icon: 'paw',\n });\n expect(icon).toEqualAttribute('type', 'paw');\n expect(name).toEqualText('Pets');\n expect(value).toEqualText('735');\n });\n\n it('does not emit event when invalid index is passed', async () => {\n await selectByIndex(page, 10);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('clearSelection', () => {\n beforeEach(async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n });\n\n it('clears the selected slice', async () => {\n await clearSelection(page);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n clickSpy = await chart.spyOnEvent('click');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n it('emits a click event when clicked', async () => {\n await centerCard.click();\n\n expect(clickSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n\n it('emits a click event when clicked', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n await centerCard.click();\n\n expect(clickSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n });\n\n it('emits a change event when arrow keys are pressed', async () => {\n await centerCard.press('ArrowLeft');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'gifts',\n name: 'Gifts',\n value: 300,\n icon: 'gift',\n color: 'rebeccapurple',\n });\n\n await centerCard.press('ArrowRight');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'groceries',\n name: 'Groceries',\n value: 1048,\n icon: 'cart',\n });\n\n await centerCard.press('Escape');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n });\n\n describe('focus', () => {\n it('does not focus anything when focus event is dispatched', async function (): Promise<void> {\n await setupChart(page);\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n it('does not focus anything when element.focus() is called', async function (): Promise<void> {\n await setupChart(page);\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await setupChart(page);\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n });\n\n it('focuses center button when focus event is dispatched', async function (): Promise<void> {\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n\n it('focuses center button when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n });\n });\n\n describe('emphasis chart option', () => {\n it('is enabled in desktop environment', async () => {\n await setupChart(page);\n const options = await getOptions(page);\n const emphasisDisabled = options.emphasis.disabled;\n expect(emphasisDisabled).toBe(false);\n });\n\n it('is disabled in mobile environment', async () => {\n await page.setViewport({\n width: 375,\n height: 812,\n deviceScaleFactor: 3,\n isMobile: true,\n hasTouch: true,\n isLandscape: false,\n });\n await page.setUserAgent(\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1'\n );\n await setupChart(page);\n const options = await getOptions(page);\n const emphasisDisabled = options.emphasis.disabled;\n expect(emphasisDisabled).toBe(true);\n });\n });\n});\n"]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { getFocusedAttribute, setup } from "../helpers";
|
|
1
|
+
import { getFocusedAttribute, getListOfStyleCompilationIssues, setup } from "../helpers";
|
|
2
2
|
describe('q2-checkbox-group', () => {
|
|
3
3
|
let page;
|
|
4
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
5
|
+
const page = await setup({ html: '<q2-checkbox-group></q2-checkbox-group>' });
|
|
6
|
+
expect(await getListOfStyleCompilationIssues(page, 'q2-checkbox-group')).toHaveLength(0);
|
|
7
|
+
});
|
|
4
8
|
describe('Props', () => {
|
|
5
9
|
async function setupPage(props = '') {
|
|
6
10
|
props = props ? ` ${props}` : '';
|