fonteva-design-guide
Version:
## Dev, Build and Test
77 lines (59 loc) • 2.5 kB
JavaScript
import { createElement } from 'lwc';
import COLLAPSE_TEST from 'c/pfmTest';
import { sleep } from 'c/utils';
describe('c-pfm-collapse', () => {
afterEach(() => {
// The jsdom instance is shared across test cases in a single file so reset the DOM
while (document.body.firstChild) {
document.body.removeChild(document.body.firstChild);
}
});
it('is header visible', () => {
const element = createElement('c-pfm-collapse', {
is: COLLAPSE_TEST
});
document.body.appendChild(element);
// Verify collapse
const collapse = element.shadowRoot.querySelectorAll('.pfm-test_collapse c-pfm-collapse');
const header = collapse[0].querySelector('span[slot="header"]');
expect(header).not.toBeNull();
});
it('check icon position for header', () => {
const element = createElement('c-pfm-collapse', {
is: COLLAPSE_TEST
});
document.body.appendChild(element);
const collapse = element.shadowRoot.querySelectorAll('.pfm-test_collapse c-pfm-collapse');
collapse[0].expand();
// Verify collapse action: expand
sleep(2).then(() => {
const collapseTest = collapse[0].shadowRoot.querySelector('.js-expand');
expect(collapseTest).not.toBeNull();
});
});
it('check expand', () => {
const element = createElement('c-pfm-collapse', {
is: COLLAPSE_TEST
});
document.body.appendChild(element);
const collapse = element.shadowRoot.querySelectorAll('.pfm-test_collapse c-pfm-collapse');
collapse[0].expand();
// Verify collapse action: expand
sleep(2).then(() => {
const collapseTest = collapse[0].shadowRoot.querySelector('.js-expand');
expect(collapseTest).not.toBeNull();
});
});
it('check collapse', () => {
const element = createElement('c-pfm-collapse', {
is: COLLAPSE_TEST
});
document.body.appendChild(element);
const collapse = element.shadowRoot.querySelectorAll('.pfm-test_collapse c-pfm-collapse');
collapse[0].expand();
collapse[0].expand();
// Verify collapse action: collapse
const collapseTest = collapse[0].shadowRoot.querySelector('.js-expand');
expect(collapseTest).toBeNull();
});
});