summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common')
-rw-r--r--remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/.gitignore.template2
-rw-r--r--remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/app.__ext@dasherize__.ts.template20
-rw-r--r--remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/utils.ts.template60
-rw-r--r--remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tsconfig.json.template10
4 files changed, 92 insertions, 0 deletions
diff --git a/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/.gitignore.template b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/.gitignore.template
new file mode 100644
index 0000000000..f038b2eb67
--- /dev/null
+++ b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/.gitignore.template
@@ -0,0 +1,2 @@
+# Compiled e2e tests output
+build/
diff --git a/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/app.__ext@dasherize__.ts.template b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/app.__ext@dasherize__.ts.template
new file mode 100644
index 0000000000..60637d0fa7
--- /dev/null
+++ b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/app.__ext@dasherize__.ts.template
@@ -0,0 +1,20 @@
+<% if(testRunner == 'node') { %>
+import * as assert from 'assert';
+import {describe, it} from 'node:test';
+<% } %><% if(testRunner == 'mocha') { %>
+import * as assert from 'assert';
+<% } %>
+import {setupBrowserHooks, getBrowserState} from './utils';
+
+describe('App test', function () {
+ setupBrowserHooks();
+ it('is running', async function () {
+ const {page} = getBrowserState();
+ const element = await page.locator('::-p-text(<%= project %>)').wait();
+<% if(testRunner == 'jasmine' || testRunner == 'jest') { %>
+ expect(element).not.toBeNull();
+<% } %><% if(testRunner == 'mocha' || testRunner == 'node') { %>
+ assert.ok(element);
+<% } %>
+ });
+});
diff --git a/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/utils.ts.template b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/utils.ts.template
new file mode 100644
index 0000000000..2136f99a3a
--- /dev/null
+++ b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tests/utils.ts.template
@@ -0,0 +1,60 @@
+<% if(testRunner == 'node') { %>
+import {before, beforeEach, after, afterEach} from 'node:test';
+<% } %>
+import * as puppeteer from 'puppeteer';
+
+const baseUrl = process.env['baseUrl'] ?? '<%= baseUrl %>';
+let browser: puppeteer.Browser;
+let page: puppeteer.Page;
+
+export function setupBrowserHooks(path = ''): void {
+<% if(testRunner == 'jasmine' || testRunner == 'jest') { %>
+ beforeAll(async () => {
+ browser = await puppeteer.launch({
+ headless: 'new'
+ });
+ });
+<% } %><% if(testRunner == 'mocha' || testRunner == 'node') { %>
+ before(async () => {
+ browser = await puppeteer.launch({
+ headless: 'new'
+ });
+ });
+<% } %>
+
+ beforeEach(async () => {
+ page = await browser.newPage();
+ await page.goto(`${baseUrl}${path}`);
+ });
+
+ afterEach(async () => {
+ await page?.close();
+ });
+
+<% if(testRunner == 'jasmine' || testRunner == 'jest') { %>
+ afterAll(async () => {
+ await browser?.close();
+ });
+<% } %><% if(testRunner == 'mocha' || testRunner == 'node') { %>
+ after(async () => {
+ await browser?.close();
+ });
+<% } %>
+}
+
+export function getBrowserState(): {
+ browser: puppeteer.Browser;
+ page: puppeteer.Page;
+ baseUrl: string;
+} {
+ if (!browser) {
+ throw new Error(
+ 'No browser state found! Ensure `setupBrowserHooks()` is called.'
+ );
+ }
+ return {
+ browser,
+ page,
+ baseUrl,
+ };
+}
diff --git a/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tsconfig.json.template b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tsconfig.json.template
new file mode 100644
index 0000000000..38501b89ef
--- /dev/null
+++ b/remote/test/puppeteer/packages/ng-schematics/src/schematics/ng-add/files/common/e2e/tsconfig.json.template
@@ -0,0 +1,10 @@
+{
+ "extends": "<%= tsConfigPath %>",
+ "compilerOptions": {
+ "module": "CommonJS",
+ "rootDir": "tests/",
+ "outDir": "build/",
+ "types": ["<%= testRunner %>"]
+ },
+ "include": ["tests/**/*.ts"]
+}