From cb8f820d73525f637b648a0f8c33157f70bbd535 Mon Sep 17 00:00:00 2001 From: Alex Shnitman Date: Mon, 1 Feb 2021 22:53:31 +0200 Subject: upgrade dependencies (migrate to Angular 10) --- ui/e2e/protractor.conf.js | 36 ++++++++++++++++++++++++++++++++++++ ui/e2e/src/app.e2e-spec.ts | 23 +++++++++++++++++++++++ ui/e2e/src/app.po.ts | 11 +++++++++++ ui/e2e/tsconfig.json | 14 ++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 ui/e2e/protractor.conf.js create mode 100644 ui/e2e/src/app.e2e-spec.ts create mode 100644 ui/e2e/src/app.po.ts create mode 100644 ui/e2e/tsconfig.json (limited to 'ui/e2e') diff --git a/ui/e2e/protractor.conf.js b/ui/e2e/protractor.conf.js new file mode 100644 index 0000000..f238c0b --- /dev/null +++ b/ui/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/ui/e2e/src/app.e2e-spec.ts b/ui/e2e/src/app.e2e-spec.ts new file mode 100644 index 0000000..d2c5a2d --- /dev/null +++ b/ui/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('metube 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/ui/e2e/src/app.po.ts b/ui/e2e/src/app.po.ts new file mode 100644 index 0000000..b68475e --- /dev/null +++ b/ui/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/ui/e2e/tsconfig.json b/ui/e2e/tsconfig.json new file mode 100644 index 0000000..426058e --- /dev/null +++ b/ui/e2e/tsconfig.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es2018", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} -- cgit