st-cc
Version:
Stencil create component cli
139 lines (115 loc) • 4.65 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
function createShadowComponentUnitTest(componentName) {
const componentClassName = utils_1.convertComponentNameToComponentClassName(componentName);
return `import { newSpecPage } from '@stencil/core/testing';
import { ${componentClassName} } from './${componentName}';
describe('${componentName} unit tests', () => {
let page;
let shadowRoot;
beforeEach(async () => {
page = await newSpecPage({
components: [${componentClassName}],
html: '<${componentName} first="Peter" last="Parker"></${componentName}>',
supportsShadowDom: true
});
shadowRoot = page.root.shadowRoot;
});
it('should work with both the first and the last name', async () => {
expect(shadowRoot.textContent).toEqual('Hello, my name is Peter Parker');
});
it('should be able to change first and the last name', async () => {
page.root.first = 'Bruce';
page.root.last = 'Wayne';
await page.waitForChanges();
expect(shadowRoot.textContent).toEqual('Hello, my name is Bruce Wayne');
});
});
`;
}
exports.createShadowComponentUnitTest = createShadowComponentUnitTest;
function createComponentUnitTest(componentName) {
const componentClassName = utils_1.convertComponentNameToComponentClassName(componentName);
return `import { newSpecPage } from '@stencil/core/testing';
import { ${componentClassName} } from './${componentName}';
describe('${componentName} unit tests', () => {
let page;
let element;
beforeEach(async () => {
page = await newSpecPage({
components: [${componentClassName}],
html: '<${componentName} first="Peter" last="Parker"></${componentName}>'
});
element = await page.doc.querySelector('${componentName}');
});
it('should work with both the first and the last name', async () => {
expect(element.textContent).toEqual('Hello, my name is Peter Parker');
});
it('should be able to change first and the last name', async () => {
element.first = 'Bruce';
element.last = 'Wayne';
await page.waitForChanges();
expect(element.textContent).toEqual('Hello, my name is Bruce Wayne');
});
});
`;
}
exports.createComponentUnitTest = createComponentUnitTest;
function createComponente2eTest(componentName) {
const componentClassName = utils_1.convertComponentNameToComponentClassName(componentName);
return `import { E2EElement, E2EPage, newE2EPage } from '@stencil/core/testing';
describe('${componentName} e2e tests', () => {
let page: E2EPage;
let element: E2EElement;
beforeEach(async () => {
page = await newE2EPage({
html: '<${componentName} first="Peter" last="Parker"></${componentName}>'
});
element = await page.find('${componentName}');
});
it('should work with both the first and the last name', async () => {
expect(element).toEqualText('Hello, my name is Peter Parker');
});
it('should be able to change first and the last name', async () => {
element.setProperty('first', 'Bruce');
element.setProperty('last', 'Wayne');
await page.waitForChanges();
expect(element.textContent).toEqualText('Hello, my name is Bruce Wayne');
});
});
`;
}
exports.createComponente2eTest = createComponente2eTest;
function createShadowComponente2eTest(componentName) {
const componentClassName = utils_1.convertComponentNameToComponentClassName(componentName);
return `import { E2EElement, E2EPage, newE2EPage } from '@stencil/core/testing';
async function getContentElement(element: E2EElement) {
return await element.shadowRoot.querySelector('div');
}
describe('component-css-shadow e2e tests', () => {
let page: E2EPage;
let element: E2EElement;
let contentElement: any;
beforeEach(async () => {
page = await newE2EPage({
html: '<${componentName} first="Peter" last="Parker"></${componentName}>'
});
element = await page.find('${componentName}');
contentElement = await element.shadowRoot.querySelector('div');
});
it('should work with both the first and the last name', async () => {
expect(contentElement).toEqual('Hello, my name is Peter Parker');
});
it('should be able to change first and the last name', async () => {
element.setProperty('first', 'Bruce');
element.setProperty('last', 'Wayne');
await page.waitForChanges();
contentElement = await getContentElement(element);
expect(contentElement).toEqualText('Hello, my name is Bruce Wayne');
});
});
`;
}
exports.createShadowComponente2eTest = createShadowComponente2eTest;
//# sourceMappingURL=test.js.map