@mgdis/mg-components 5.19.1 → 5.19.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/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js
CHANGED
|
@@ -104,10 +104,10 @@ describe('mg-input-checkbox', () => {
|
|
|
104
104
|
test.each([
|
|
105
105
|
{ identifier: 'identifier', type, label: 'label', value: undefined },
|
|
106
106
|
{ identifier: 'identifier', type, label: 'label', value: ['batman', 'joker', 'bane'] },
|
|
107
|
-
])('Should not render with invalid value property: %s', async () => {
|
|
107
|
+
])('Should not render with invalid value property: %s', async (args) => {
|
|
108
108
|
expect.assertions(1);
|
|
109
109
|
try {
|
|
110
|
-
await getPage();
|
|
110
|
+
await getPage(args);
|
|
111
111
|
}
|
|
112
112
|
catch (err) {
|
|
113
113
|
expect(err.message).toMatch('<mg-input-checkbox> prop "value" is required and all values must be the same type, CheckboxItem.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mg-input-checkbox.spec.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { cloneDeep, mockConsoleError, mockWindowFrames, setupResizeObserverMock } from '../../../../../utils/unit.test.utils';\nimport { MgInputCheckbox } from '../mg-input-checkbox';\nimport messages from '../../../../../locales/en/messages.json';\nimport { CheckboxValue, checkboxTypes } from '../mg-input-checkbox.conf';\nimport { MgPopover } from '../../../mg-popover/mg-popover';\nimport { MgInputText } from '../../mg-input-text/mg-input-text';\nimport { MgMessage } from '../../../mg-message/mg-message';\nimport { MgPagination } from '../../../mg-pagination/mg-pagination';\nimport { MgButton } from '../../../../atoms/mg-button/mg-button';\nimport { MgInputCheckboxPaginated } from '../mg-input-checkbox-paginated/mg-input-checkbox-paginated';\nimport { MgPopoverContent } from '../../../mg-popover/mg-popover-content/mg-popover-content';\n\nmockWindowFrames();\nmockConsoleError();\n\nconst getPage = args => {\n const page = newSpecPage({\n components: [MgInputCheckbox, MgPopover, MgPopoverContent, MgInputText, MgMessage, MgPagination, MgButton, MgInputCheckboxPaginated],\n template: () => <mg-input-checkbox {...args}></mg-input-checkbox>,\n });\n\n jest.runAllTimers();\n return page;\n};\n\ndescribe('mg-input-checkbox', () => {\n beforeEach(() => {\n jest.useFakeTimers();\n setupResizeObserverMock({\n observe: () => null,\n disconnect: () => null,\n });\n });\n\n afterEach(() => jest.runOnlyPendingTimers());\n\n const items: CheckboxValue[] = [\n { title: 'batman', value: true },\n { title: 'robin', value: false, disabled: true },\n { title: 'joker', value: false },\n { title: 'bane', value: null },\n ];\n\n describe.each([...checkboxTypes, undefined])('render by type %s', type => {\n let testValues: unknown[] = [\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelOnTop: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelHide: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, inputVerticalList: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, readonly: true, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, disabled: true, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true, labelOnTop: true, tooltip: 'Tooltip message' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, disabled: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, tooltip: 'Batman is a DC Comics license' },\n ];\n if (type === 'multi') {\n testValues = [\n ...testValues,\n ...[true, false].flatMap(displaySelectedValues =>\n [\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', readonly: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', disabled: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', tooltip: 'Batman is a DC Comics license' },\n ].map(args => ({ ...args, displaySelectedValues })),\n ),\n ];\n }\n test.each(testValues)('Should render with args %s:', async args => {\n const { root } = await getPage(args);\n expect(root).toMatchSnapshot();\n });\n\n test.each(['', ' ', undefined])('Should not render with invalid identifier property: %s', async identifier => {\n expect.assertions(1);\n try {\n await getPage({ identifier, type, value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"identifier\" is required.');\n }\n });\n\n test.each(['', ' ', undefined])('Should not render with invalid label property: %s', async label => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label, value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"label\" is required.');\n }\n });\n\n test('Should not render when using labelOnTop and labelHide: %s', async () => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items), labelOnTop: true, labelHide: true });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"labelOnTop\" must not be paired with the prop \"labelHide\".');\n }\n });\n\n test.each([\n { identifier: 'identifier', type, label: 'label', value: undefined },\n { identifier: 'identifier', type, label: 'label', value: ['batman', 'joker', 'bane'] },\n ])('Should not render with invalid value property: %s', async () => {\n expect.assertions(1);\n try {\n await getPage();\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"value\" is required and all values must be the same type, CheckboxItem.');\n }\n });\n\n test.each([true, false])('Should trigger events, case validity check %s', async validity => {\n const value = items.map((item, index) => ({ ...item, value: false, id: index, required: item.required, disabled: item.disabled, hero: 'batman' }));\n value[0].value = !validity;\n const page = await getPage({ label: 'label', type, identifier: 'identifier', helpText: 'My help text', value, required: true });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n const index = validity ? 2 : 0;\n const input = allInputs[index];\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => validity);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: !validity,\n })),\n });\n });\n\n jest.spyOn(page.rootInstance.valueChange, 'emit');\n\n input.dispatchEvent(new CustomEvent('focus', { bubbles: true }));\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(); //Snapshot on focus\n\n input.checked = validity;\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n\n const emittedValue = value;\n emittedValue[index].value = input.checked;\n await page.waitForChanges();\n expect(page.rootInstance.valueChange.emit).toHaveBeenCalledWith(emittedValue);\n\n input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(); //Snapshot on blur\n });\n\n describe.each(['readonly', 'disabled'])('validity, case next state is %s', nextState => {\n test.each([\n { validity: true, valueMissing: false },\n { validity: false, valueMissing: true },\n { validity: false, valueMissing: false },\n ])('validity (%s), valueMissing (%s)', async ({ validity, valueMissing }) => {\n const value = items.map((item, index) => ({ ...item, value: !valueMissing && index === 1 }));\n const args = { label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true };\n const page = await getPage(args);\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n const input = allInputs[0];\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => validity);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing,\n })),\n });\n });\n\n input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));\n await page.waitForChanges();\n\n if (validity) {\n expect(page.rootInstance.errorMessage).toBeUndefined();\n } else if (valueMissing) {\n expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);\n }\n expect(page.rootInstance.valid).toEqual(validity);\n expect(page.rootInstance.invalid).toEqual(!validity);\n\n if (valueMissing) {\n expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled FALSE\n element[nextState] = true;\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled TRUE\n }\n });\n });\n test.each([\n {\n valid: true,\n errorMessage: 'Override error',\n },\n {\n valid: false,\n errorMessage: 'Override error',\n },\n ])(\"should display override error with setError component's public method\", async params => {\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });\n\n expect(page.root).toMatchSnapshot();\n\n const element = page.doc.querySelector('mg-input-checkbox');\n const inputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n\n //mock validity\n inputs.forEach(input => {\n Object.defineProperty(input, 'validity', {\n get: () => ({}),\n });\n });\n\n await element.setError(params.valid, params.errorMessage);\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each([\n {\n valid: '',\n errorMessage: 'Override error',\n error: '<mg-input-checkbox> method \"setError()\" param \"valid\" must be a boolean',\n },\n {\n valid: undefined,\n errorMessage: 'Override error',\n error: '<mg-input-checkbox> method \"setError()\" param \"valid\" must be a boolean',\n },\n {\n valid: true,\n errorMessage: ' ',\n error: '<mg-input-checkbox> method \"setError()\" param \"errorMessage\" must be a string',\n },\n {\n valid: true,\n errorMessage: true,\n error: '<mg-input-checkbox> method \"setError()\" param \"errorMessage\" must be a string',\n },\n ])(\"shloud throw error with setError component's public method invalid params\", async params => {\n expect.assertions(1);\n try {\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });\n const element = page.doc.querySelector('mg-input-checkbox');\n\n await element.setError(params.valid as unknown as boolean, params.errorMessage as unknown as string);\n await page.waitForChanges();\n } catch (err) {\n expect(err.message).toMatch(params.error);\n }\n });\n\n test(\"display error with displayError component's public method\", async () => {\n const value = cloneDeep(items);\n value[0].value = false;\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true });\n\n expect(page.root).toMatchSnapshot();\n\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => false);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: true,\n })),\n });\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each(['fr', 'xx'])('Should render component error with locale: %s', async lang => {\n const value = cloneDeep(items);\n value[0].value = false;\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true, lang });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => false);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: true,\n })),\n });\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each([[[true, false].flatMap(value => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({ title: item.toString(), value })))]])(\n 'Should render component with locale \"fr\"',\n async value => {\n const page = await getPage({ label: 'label', identifier: 'identifier', value, lang: 'fr' });\n\n expect(page.root).toMatchSnapshot();\n },\n );\n\n test('Should remove error on input when required change dynamically', async () => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [\n { title: 'batman', value: false },\n { title: 'robin', value: false },\n ],\n required: true,\n type,\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs[0].checkValidity = jest\n .fn()\n .mockReturnValueOnce(false) //1\n .mockReturnValueOnce(false) //1\n .mockReturnValueOnce(true) //2\n .mockReturnValueOnce(true) //2\n .mockReturnValueOnce(false) //3\n .mockReturnValueOnce(false); //3\n allInputs[1].checkValidity = jest.fn().mockReturnValueOnce(true).mockReturnValueOnce(true); //2\n Object.defineProperty(allInputs[0], 'validity', {\n get: jest\n .fn()\n .mockReturnValueOnce({\n valueMissing: true, //1\n })\n .mockReturnValueOnce({\n valueMissing: false, //2\n })\n .mockReturnValueOnce({\n valueMissing: true, //3\n }),\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.rootInstance.hasDisplayedError).toEqual(true);\n expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);\n\n element.required = false;\n await page.waitForChanges();\n\n // Error message should disapear and change the hasDisplayedError status\n expect(page.rootInstance.hasDisplayedError).toEqual(false);\n expect(page.rootInstance.errorMessage).toBeUndefined();\n\n element.required = true;\n await page.waitForChanges();\n\n // If back on required the message is still not displayed\n expect(page.rootInstance.hasDisplayedError).toEqual(false);\n expect(page.rootInstance.errorMessage).toBeUndefined();\n });\n\n test('should enable \"displaySearchInput\" when value list is greater than 10', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const { root } = await getPage({ label: 'label', identifier: 'identifier', value, type });\n expect(root).toMatchSnapshot();\n });\n });\n\n describe('navigation', () => {\n test('should NOT manage keyboard \"tab\" navigation on \"checkbox\" type', async () => {\n const page = await getPage({ label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'checkbox', tooltip: 'Tooltip message' });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n\n allInputs.forEach(input => input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' })));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each(['next', 'prev'])('should manage keyboard \"tab\" navigation on \"multi\" type', async direction => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [1, 2, 3, 4, 5, 6, 7, 8, 9].map(item => ({\n title: `item ${item}`,\n value: false,\n })),\n type: 'multi',\n tooltip: 'Tooltip message',\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n const button = element.shadowRoot.querySelector('mg-button');\n const popover = element.shadowRoot.querySelector('mg-popover');\n\n button.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(true);\n\n if (direction === 'next') for await (const input of allInputs) input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));\n else if (direction === 'prev') allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(false);\n });\n\n test('should manage keyboard \"shift+tab\" navigation on \"multi\" type', async () => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({\n title: `item ${item}`,\n value: false,\n })),\n type: 'multi',\n tooltip: 'Tooltip message',\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const searchInput = element.shadowRoot.querySelector('mg-input-text').shadowRoot.querySelector('input');\n const button = element.shadowRoot.querySelector('mg-button');\n const popover = element.shadowRoot.querySelector('mg-popover');\n\n button.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(true);\n\n searchInput.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(false);\n });\n });\n\n test.each([' ', 'batman'])('Should not render with invalid type property: %s', async type => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"type\" must be a CheckboxType.');\n }\n });\n\n test.each([undefined, 'checkbox'])('Should not render with invalid displaySelectedValues and type configuration', async type => {\n expect.assertions(1);\n try {\n await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), displaySelectedValues: true });\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"displaySelectedValues\" can only be used with prop type \"multi\".');\n }\n });\n\n describe('multi search', () => {\n test('should enable return search result and update pagination', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(4);\n expect(page.root).toMatchSnapshot();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '11' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '111' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n\n mgPopover.display = false;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n expect(searchInput.value).toEqual('');\n expect(page.root).toMatchSnapshot();\n });\n\n test('should search and update values', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));\n await page.waitForChanges();\n\n const input = mgInputCheckbox.shadowRoot.querySelector('input');\n input.checkValidity = () => true;\n input.checked = true;\n\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n await page.waitForChanges();\n\n expect(mgInputCheckbox.value.find(item => item.value)).toHaveProperty('title', 'item 2');\n expect(page.root).toMatchSnapshot();\n\n mgPopover.display = false;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test('should navigate across paginated list with mg-pagination', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination');\n const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(10);\n expect(page.root).toMatchSnapshot();\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n });\n\n test('should update all values with mass actions', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.filter(item => item.value === 'true').length).toEqual(0);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n\n const selectAllButton = mgInputCheckbox.shadowRoot.querySelector('mg-input-checkbox-paginated:last-of-type mg-button');\n selectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.filter(item => item.value === 'true').length).toEqual(10);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(21);\n expect(page.root).toMatchSnapshot();\n\n const unselectAllButton = Array.from(\n mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated .mg-c-input__input-checkbox-multi-section-header mg-button:last-of-type'),\n ).find(button => button.textContent === 'Unselect all');\n unselectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.filter(item => item.value === 'true').length).toEqual(0);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n });\n\n test('should toggle selected items section', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({\n title: `item ${item}`,\n value: [5, 12, 13, 17].some(item => item === index),\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n const sections = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated'));\n\n expect(sections.length).toEqual(2);\n\n for (const [i, section] of sections.entries()) {\n const firstButton = section.querySelector('mg-button');\n const sectionContent = section.querySelector('.mg-c-input__input-checkbox-multi-section-content');\n expect(sectionContent).not.toHaveAttribute('hidden');\n\n firstButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n if (i !== 0) {\n expect(sectionContent).not.toHaveAttribute('hidden');\n } else {\n expect(sectionContent).toHaveAttribute('hidden');\n }\n expect(page.root).toMatchSnapshot();\n }\n });\n\n test('should go to previous page when last item is checked', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination:last-of-type');\n const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input'));\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n\n const input = mgInputCheckbox.shadowRoot.querySelector('input');\n input.checkValidity = () => true;\n input.checked = true;\n\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n await page.waitForChanges();\n\n const firstSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:first-of-type input');\n const lastSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input');\n\n expect(firstSectionInputs.length).toEqual(1);\n expect(lastSectionInputs.length).toEqual(10);\n expect(page.root).toMatchSnapshot();\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"mg-input-checkbox.spec.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { cloneDeep, mockConsoleError, mockWindowFrames, setupResizeObserverMock } from '../../../../../utils/unit.test.utils';\nimport { MgInputCheckbox } from '../mg-input-checkbox';\nimport messages from '../../../../../locales/en/messages.json';\nimport { CheckboxValue, checkboxTypes } from '../mg-input-checkbox.conf';\nimport { MgPopover } from '../../../mg-popover/mg-popover';\nimport { MgInputText } from '../../mg-input-text/mg-input-text';\nimport { MgMessage } from '../../../mg-message/mg-message';\nimport { MgPagination } from '../../../mg-pagination/mg-pagination';\nimport { MgButton } from '../../../../atoms/mg-button/mg-button';\nimport { MgInputCheckboxPaginated } from '../mg-input-checkbox-paginated/mg-input-checkbox-paginated';\nimport { MgPopoverContent } from '../../../mg-popover/mg-popover-content/mg-popover-content';\n\nmockWindowFrames();\nmockConsoleError();\n\nconst getPage = args => {\n const page = newSpecPage({\n components: [MgInputCheckbox, MgPopover, MgPopoverContent, MgInputText, MgMessage, MgPagination, MgButton, MgInputCheckboxPaginated],\n template: () => <mg-input-checkbox {...args}></mg-input-checkbox>,\n });\n\n jest.runAllTimers();\n return page;\n};\n\ndescribe('mg-input-checkbox', () => {\n beforeEach(() => {\n jest.useFakeTimers();\n setupResizeObserverMock({\n observe: () => null,\n disconnect: () => null,\n });\n });\n\n afterEach(() => jest.runOnlyPendingTimers());\n\n const items: CheckboxValue[] = [\n { title: 'batman', value: true },\n { title: 'robin', value: false, disabled: true },\n { title: 'joker', value: false },\n { title: 'bane', value: null },\n ];\n\n describe.each([...checkboxTypes, undefined])('render by type %s', type => {\n let testValues: unknown[] = [\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelOnTop: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelHide: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, inputVerticalList: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, readonly: true, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, disabled: true, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true, labelOnTop: true, tooltip: 'Tooltip message' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, disabled: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, tooltip: 'Batman is a DC Comics license' },\n ];\n if (type === 'multi') {\n testValues = [\n ...testValues,\n ...[true, false].flatMap(displaySelectedValues =>\n [\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', readonly: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', disabled: true },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', helpText: 'Hello joker' },\n { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', tooltip: 'Batman is a DC Comics license' },\n ].map(args => ({ ...args, displaySelectedValues })),\n ),\n ];\n }\n test.each(testValues)('Should render with args %s:', async args => {\n const { root } = await getPage(args);\n expect(root).toMatchSnapshot();\n });\n\n test.each(['', ' ', undefined])('Should not render with invalid identifier property: %s', async identifier => {\n expect.assertions(1);\n try {\n await getPage({ identifier, type, value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"identifier\" is required.');\n }\n });\n\n test.each(['', ' ', undefined])('Should not render with invalid label property: %s', async label => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label, value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"label\" is required.');\n }\n });\n\n test('Should not render when using labelOnTop and labelHide: %s', async () => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items), labelOnTop: true, labelHide: true });\n } catch (err) {\n expect(err.message).toMatch('<mg-input> prop \"labelOnTop\" must not be paired with the prop \"labelHide\".');\n }\n });\n\n test.each([\n { identifier: 'identifier', type, label: 'label', value: undefined },\n { identifier: 'identifier', type, label: 'label', value: ['batman', 'joker', 'bane'] },\n ])('Should not render with invalid value property: %s', async args => {\n expect.assertions(1);\n try {\n await getPage(args);\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"value\" is required and all values must be the same type, CheckboxItem.');\n }\n });\n\n test.each([true, false])('Should trigger events, case validity check %s', async validity => {\n const value = items.map((item, index) => ({ ...item, value: false, id: index, required: item.required, disabled: item.disabled, hero: 'batman' }));\n value[0].value = !validity;\n const page = await getPage({ label: 'label', type, identifier: 'identifier', helpText: 'My help text', value, required: true });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n const index = validity ? 2 : 0;\n const input = allInputs[index];\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => validity);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: !validity,\n })),\n });\n });\n\n jest.spyOn(page.rootInstance.valueChange, 'emit');\n\n input.dispatchEvent(new CustomEvent('focus', { bubbles: true }));\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(); //Snapshot on focus\n\n input.checked = validity;\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n\n const emittedValue = value;\n emittedValue[index].value = input.checked;\n await page.waitForChanges();\n expect(page.rootInstance.valueChange.emit).toHaveBeenCalledWith(emittedValue);\n\n input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(); //Snapshot on blur\n });\n\n describe.each(['readonly', 'disabled'])('validity, case next state is %s', nextState => {\n test.each([\n { validity: true, valueMissing: false },\n { validity: false, valueMissing: true },\n { validity: false, valueMissing: false },\n ])('validity (%s), valueMissing (%s)', async ({ validity, valueMissing }) => {\n const value = items.map((item, index) => ({ ...item, value: !valueMissing && index === 1 }));\n const args = { label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true };\n const page = await getPage(args);\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n const input = allInputs[0];\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => validity);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing,\n })),\n });\n });\n\n input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));\n await page.waitForChanges();\n\n if (validity) {\n expect(page.rootInstance.errorMessage).toBeUndefined();\n } else if (valueMissing) {\n expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);\n }\n expect(page.rootInstance.valid).toEqual(validity);\n expect(page.rootInstance.invalid).toEqual(!validity);\n\n if (valueMissing) {\n expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled FALSE\n element[nextState] = true;\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled TRUE\n }\n });\n });\n test.each([\n {\n valid: true,\n errorMessage: 'Override error',\n },\n {\n valid: false,\n errorMessage: 'Override error',\n },\n ])(\"should display override error with setError component's public method\", async params => {\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });\n\n expect(page.root).toMatchSnapshot();\n\n const element = page.doc.querySelector('mg-input-checkbox');\n const inputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n\n //mock validity\n inputs.forEach(input => {\n Object.defineProperty(input, 'validity', {\n get: () => ({}),\n });\n });\n\n await element.setError(params.valid, params.errorMessage);\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each([\n {\n valid: '',\n errorMessage: 'Override error',\n error: '<mg-input-checkbox> method \"setError()\" param \"valid\" must be a boolean',\n },\n {\n valid: undefined,\n errorMessage: 'Override error',\n error: '<mg-input-checkbox> method \"setError()\" param \"valid\" must be a boolean',\n },\n {\n valid: true,\n errorMessage: ' ',\n error: '<mg-input-checkbox> method \"setError()\" param \"errorMessage\" must be a string',\n },\n {\n valid: true,\n errorMessage: true,\n error: '<mg-input-checkbox> method \"setError()\" param \"errorMessage\" must be a string',\n },\n ])(\"shloud throw error with setError component's public method invalid params\", async params => {\n expect.assertions(1);\n try {\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });\n const element = page.doc.querySelector('mg-input-checkbox');\n\n await element.setError(params.valid as unknown as boolean, params.errorMessage as unknown as string);\n await page.waitForChanges();\n } catch (err) {\n expect(err.message).toMatch(params.error);\n }\n });\n\n test(\"display error with displayError component's public method\", async () => {\n const value = cloneDeep(items);\n value[0].value = false;\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true });\n\n expect(page.root).toMatchSnapshot();\n\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => false);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: true,\n })),\n });\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each(['fr', 'xx'])('Should render component error with locale: %s', async lang => {\n const value = cloneDeep(items);\n value[0].value = false;\n const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true, lang });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs.forEach(input => {\n input.checkValidity = jest.fn(() => false);\n Object.defineProperty(input, 'validity', {\n get: jest.fn(() => ({\n valueMissing: true,\n })),\n });\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each([[[true, false].flatMap(value => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({ title: item.toString(), value })))]])(\n 'Should render component with locale \"fr\"',\n async value => {\n const page = await getPage({ label: 'label', identifier: 'identifier', value, lang: 'fr' });\n\n expect(page.root).toMatchSnapshot();\n },\n );\n\n test('Should remove error on input when required change dynamically', async () => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [\n { title: 'batman', value: false },\n { title: 'robin', value: false },\n ],\n required: true,\n type,\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = element.shadowRoot.querySelectorAll('input');\n\n //mock validity\n allInputs[0].checkValidity = jest\n .fn()\n .mockReturnValueOnce(false) //1\n .mockReturnValueOnce(false) //1\n .mockReturnValueOnce(true) //2\n .mockReturnValueOnce(true) //2\n .mockReturnValueOnce(false) //3\n .mockReturnValueOnce(false); //3\n allInputs[1].checkValidity = jest.fn().mockReturnValueOnce(true).mockReturnValueOnce(true); //2\n Object.defineProperty(allInputs[0], 'validity', {\n get: jest\n .fn()\n .mockReturnValueOnce({\n valueMissing: true, //1\n })\n .mockReturnValueOnce({\n valueMissing: false, //2\n })\n .mockReturnValueOnce({\n valueMissing: true, //3\n }),\n });\n\n await element.displayError();\n await page.waitForChanges();\n\n expect(page.rootInstance.hasDisplayedError).toEqual(true);\n expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);\n\n element.required = false;\n await page.waitForChanges();\n\n // Error message should disapear and change the hasDisplayedError status\n expect(page.rootInstance.hasDisplayedError).toEqual(false);\n expect(page.rootInstance.errorMessage).toBeUndefined();\n\n element.required = true;\n await page.waitForChanges();\n\n // If back on required the message is still not displayed\n expect(page.rootInstance.hasDisplayedError).toEqual(false);\n expect(page.rootInstance.errorMessage).toBeUndefined();\n });\n\n test('should enable \"displaySearchInput\" when value list is greater than 10', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const { root } = await getPage({ label: 'label', identifier: 'identifier', value, type });\n expect(root).toMatchSnapshot();\n });\n });\n\n describe('navigation', () => {\n test('should NOT manage keyboard \"tab\" navigation on \"checkbox\" type', async () => {\n const page = await getPage({ label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'checkbox', tooltip: 'Tooltip message' });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n\n allInputs.forEach(input => input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' })));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test.each(['next', 'prev'])('should manage keyboard \"tab\" navigation on \"multi\" type', async direction => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [1, 2, 3, 4, 5, 6, 7, 8, 9].map(item => ({\n title: `item ${item}`,\n value: false,\n })),\n type: 'multi',\n tooltip: 'Tooltip message',\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));\n const button = element.shadowRoot.querySelector('mg-button');\n const popover = element.shadowRoot.querySelector('mg-popover');\n\n button.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(true);\n\n if (direction === 'next') for await (const input of allInputs) input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));\n else if (direction === 'prev') allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(false);\n });\n\n test('should manage keyboard \"shift+tab\" navigation on \"multi\" type', async () => {\n const page = await getPage({\n label: 'label',\n identifier: 'identifier',\n value: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({\n title: `item ${item}`,\n value: false,\n })),\n type: 'multi',\n tooltip: 'Tooltip message',\n });\n const element = page.doc.querySelector('mg-input-checkbox');\n const searchInput = element.shadowRoot.querySelector('mg-input-text').shadowRoot.querySelector('input');\n const button = element.shadowRoot.querySelector('mg-button');\n const popover = element.shadowRoot.querySelector('mg-popover');\n\n button.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(true);\n\n searchInput.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(popover.display).toEqual(false);\n });\n });\n\n test.each([' ', 'batman'])('Should not render with invalid type property: %s', async type => {\n expect.assertions(1);\n try {\n await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items) });\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"type\" must be a CheckboxType.');\n }\n });\n\n test.each([undefined, 'checkbox'])('Should not render with invalid displaySelectedValues and type configuration', async type => {\n expect.assertions(1);\n try {\n await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), displaySelectedValues: true });\n } catch (err) {\n expect(err.message).toMatch('<mg-input-checkbox> prop \"displaySelectedValues\" can only be used with prop type \"multi\".');\n }\n });\n\n describe('multi search', () => {\n test('should enable return search result and update pagination', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(4);\n expect(page.root).toMatchSnapshot();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '11' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '111' }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n\n mgPopover.display = false;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n expect(searchInput.value).toEqual('');\n expect(page.root).toMatchSnapshot();\n });\n\n test('should search and update values', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));\n await page.waitForChanges();\n\n const input = mgInputCheckbox.shadowRoot.querySelector('input');\n input.checkValidity = () => true;\n input.checked = true;\n\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n await page.waitForChanges();\n\n expect(mgInputCheckbox.value.find(item => item.value)).toHaveProperty('title', 'item 2');\n expect(page.root).toMatchSnapshot();\n\n mgPopover.display = false;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test('should navigate across paginated list with mg-pagination', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination');\n const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(10);\n expect(page.root).toMatchSnapshot();\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n });\n\n test('should update all values with mass actions', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n expect(page.root).toMatchSnapshot();\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.filter(item => item.value === 'true').length).toEqual(0);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n\n const selectAllButton = mgInputCheckbox.shadowRoot.querySelector('mg-input-checkbox-paginated:last-of-type mg-button');\n selectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.filter(item => item.value === 'true').length).toEqual(10);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(21);\n expect(page.root).toMatchSnapshot();\n\n const unselectAllButton = Array.from(\n mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated .mg-c-input__input-checkbox-multi-section-header mg-button:last-of-type'),\n ).find(button => button.textContent === 'Unselect all');\n unselectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = getResultList(mgInputCheckbox);\n expect(resultList.filter(item => item.value === 'true').length).toEqual(0);\n expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);\n expect(page.root).toMatchSnapshot();\n });\n\n test('should toggle selected items section', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({\n title: `item ${item}`,\n value: [5, 12, 13, 17].some(item => item === index),\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n const sections = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated'));\n\n expect(sections.length).toEqual(2);\n\n for (const [i, section] of sections.entries()) {\n const firstButton = section.querySelector('mg-button');\n const sectionContent = section.querySelector('.mg-c-input__input-checkbox-multi-section-content');\n expect(sectionContent).not.toHaveAttribute('hidden');\n\n firstButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n if (i !== 0) {\n expect(sectionContent).not.toHaveAttribute('hidden');\n } else {\n expect(sectionContent).toHaveAttribute('hidden');\n }\n expect(page.root).toMatchSnapshot();\n }\n });\n\n test('should go to previous page when last item is checked', async () => {\n const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({\n title: `item ${item}`,\n value: false,\n }));\n const page = await getPage({ label: 'label', identifier: 'identifier', value });\n const getResultList = (mgInputCheckbox: HTMLMgInputCheckboxElement) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));\n\n const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');\n const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');\n const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination:last-of-type');\n const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');\n\n mgPopover.display = true;\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n let resultList = getResultList(mgInputCheckbox);\n\n expect(resultList.length).toEqual(10);\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n await page.waitForChanges();\n\n resultList = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input'));\n expect(resultList.length).toEqual(1);\n expect(page.root).toMatchSnapshot();\n\n const input = mgInputCheckbox.shadowRoot.querySelector('input');\n input.checkValidity = () => true;\n input.checked = true;\n\n input.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n await page.waitForChanges();\n\n const firstSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:first-of-type input');\n const lastSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input');\n\n expect(firstSectionInputs.length).toEqual(1);\n expect(lastSectionInputs.length).toEqual(10);\n expect(page.root).toMatchSnapshot();\n });\n });\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mgdis/mg-components",
|
|
3
|
-
"version": "5.19.
|
|
3
|
+
"version": "5.19.2",
|
|
4
4
|
"description": "MG Components",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
"style-loader": "^2.0.0",
|
|
73
73
|
"ts-node": "^10.9.1",
|
|
74
74
|
"typescript": "^5.0.0",
|
|
75
|
-
"eslint-config-stencil": "1.1.1",
|
|
76
75
|
"@mgdis/linting-stencil": "1.1.0",
|
|
77
|
-
"
|
|
78
|
-
"playwright-config": "1.0.0"
|
|
76
|
+
"eslint-config-stencil": "1.1.1",
|
|
77
|
+
"playwright-config": "1.0.0",
|
|
78
|
+
"tsconfig": "1.0.0"
|
|
79
79
|
},
|
|
80
80
|
"license": "BSD-3-Clause",
|
|
81
81
|
"scripts": {
|