From 823344c19094680e80e2b56449a243e183db8b06 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 14 Dec 2020 23:21:39 -0800 Subject: :star: --- apps/me-e2e/protractor.conf.js | 36 ++++++++++++++++++++++++++++++++++++ apps/me-e2e/src/app.e2e-spec.ts | 23 +++++++++++++++++++++++ apps/me-e2e/src/app.po.ts | 11 +++++++++++ apps/me-e2e/tsconfig.json | 13 +++++++++++++ 4 files changed, 83 insertions(+) create mode 100644 apps/me-e2e/protractor.conf.js create mode 100644 apps/me-e2e/src/app.e2e-spec.ts create mode 100644 apps/me-e2e/src/app.po.ts create mode 100644 apps/me-e2e/tsconfig.json (limited to 'apps/me-e2e') diff --git a/apps/me-e2e/protractor.conf.js b/apps/me-e2e/protractor.conf.js new file mode 100644 index 0000000..f238c0b --- /dev/null +++ b/apps/me-e2e/protractor.conf.js @@ -0,0 +1,36 @@ +// @ts-check +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); + +/** + * @type { import("protractor").Config } + */ +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './src/**/*.e2e-spec.ts' + ], + capabilities: { + browserName: 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.json') + }); + jasmine.getEnv().addReporter(new SpecReporter({ + spec: { + displayStacktrace: StacktraceOption.PRETTY + } + })); + } +}; \ No newline at end of file diff --git a/apps/me-e2e/src/app.e2e-spec.ts b/apps/me-e2e/src/app.e2e-spec.ts new file mode 100644 index 0000000..838fd00 --- /dev/null +++ b/apps/me-e2e/src/app.e2e-spec.ts @@ -0,0 +1,23 @@ +import { AppPage } from './app.po'; +import { browser, logging } from 'protractor'; + +describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getTitleText()).toEqual('me app is running!'); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain(jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry)); + }); +}); diff --git a/apps/me-e2e/src/app.po.ts b/apps/me-e2e/src/app.po.ts new file mode 100644 index 0000000..b68475e --- /dev/null +++ b/apps/me-e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo(): Promise { + return browser.get(browser.baseUrl) as Promise; + } + + getTitleText(): Promise { + return element(by.css('app-root .content span')).getText() as Promise; + } +} diff --git a/apps/me-e2e/tsconfig.json b/apps/me-e2e/tsconfig.json new file mode 100644 index 0000000..7d1e139 --- /dev/null +++ b/apps/me-e2e/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "target": "es2018", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} -- cgit v1.2.3