puppeteer/packages/ng-schematics/test/src/e2e.spec.ts
2023-08-18 14:16:07 +00:00

110 lines
3.3 KiB
TypeScript

import expect from 'expect';
import {
buildTestingTree,
getMultiApplicationFile,
setupHttpHooks,
} from './utils.js';
describe('@puppeteer/ng-schematics: e2e', () => {
setupHttpHooks();
describe('Single Project', () => {
it('should create default file', async () => {
const tree = await buildTestingTree('e2e', 'single', {
name: 'myTest',
});
expect(tree.files).toContain('/e2e/tests/my-test.e2e.ts');
expect(tree.files).not.toContain('/e2e/tests/my-test.test.ts');
});
it('should create Node file', async () => {
const tree = await buildTestingTree('e2e', 'single', {
name: 'myTest',
testRunner: 'node',
});
expect(tree.files).not.toContain('/e2e/tests/my-test.e2e.ts');
expect(tree.files).toContain('/e2e/tests/my-test.test.ts');
});
it('should create file with route', async () => {
const route = 'home';
const tree = await buildTestingTree('e2e', 'single', {
name: 'myTest',
route,
});
expect(tree.files).toContain('/e2e/tests/my-test.e2e.ts');
expect(tree.readContent('/e2e/tests/my-test.e2e.ts')).toContain(
`setupBrowserHooks('/${route}');`
);
});
it('should create with route with starting slash', async () => {
const route = '/home';
const tree = await buildTestingTree('e2e', 'single', {
name: 'myTest',
route,
});
expect(tree.files).toContain('/e2e/tests/my-test.e2e.ts');
expect(tree.readContent('/e2e/tests/my-test.e2e.ts')).toContain(
`setupBrowserHooks('${route}');`
);
});
});
describe('Multi projects', () => {
it('should create default file', async () => {
const tree = await buildTestingTree('e2e', 'multi', {
name: 'myTest',
});
expect(tree.files).toContain(
getMultiApplicationFile('e2e/tests/my-test.e2e.ts')
);
expect(tree.files).not.toContain(
getMultiApplicationFile('e2e/tests/my-test.test.ts')
);
});
it('should create Node file', async () => {
const tree = await buildTestingTree('e2e', 'multi', {
name: 'myTest',
testRunner: 'node',
});
expect(tree.files).not.toContain(
getMultiApplicationFile('e2e/tests/my-test.e2e.ts')
);
expect(tree.files).toContain(
getMultiApplicationFile('e2e/tests/my-test.test.ts')
);
});
it('should create file with route', async () => {
const route = 'home';
const tree = await buildTestingTree('e2e', 'multi', {
name: 'myTest',
route,
});
expect(tree.files).toContain(
getMultiApplicationFile('e2e/tests/my-test.e2e.ts')
);
expect(
tree.readContent(getMultiApplicationFile('e2e/tests/my-test.e2e.ts'))
).toContain(`setupBrowserHooks('/${route}');`);
});
it('should create with route with starting slash', async () => {
const route = '/home';
const tree = await buildTestingTree('e2e', 'multi', {
name: 'myTest',
route,
});
expect(tree.files).toContain(
getMultiApplicationFile('e2e/tests/my-test.e2e.ts')
);
expect(
tree.readContent(getMultiApplicationFile('e2e/tests/my-test.e2e.ts'))
).toContain(`setupBrowserHooks('${route}');`);
});
});
});