aboutsummaryrefslogtreecommitdiff
path: root/ui/e2e
diff options
context:
space:
mode:
Diffstat (limited to 'ui/e2e')
-rw-r--r--ui/e2e/protractor.conf.js36
-rw-r--r--ui/e2e/src/app.e2e-spec.ts23
-rw-r--r--ui/e2e/src/app.po.ts11
-rw-r--r--ui/e2e/tsconfig.json14
4 files changed, 84 insertions, 0 deletions
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<unknown> {
+ return browser.get(browser.baseUrl) as Promise<unknown>;
+ }
+
+ getTitleText(): Promise<string> {
+ return element(by.css('app-root .content span')).getText() as Promise<string>;
+ }
+}
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"
+ ]
+ }
+}
bgstack15