Initial web server implementation

This commit is contained in:
frtabu
2022-11-30 11:34:54 +01:00
parent 0cacf29dbb
commit 21b3484e02
111 changed files with 34101 additions and 526 deletions
@@ -0,0 +1,23 @@
// @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", chromeOptions : {args : [ "--headless", "--no-sandbox" ]}},
directConnect : true,
SELENIUM_PROMISE_MANAGER : 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}}));
}
};
@@ -0,0 +1,23 @@
// @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,
SELENIUM_PROMISE_MANAGER : false,
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}}));
}
};
@@ -0,0 +1,21 @@
import {browser, logging} from "protractor";
import {AppPage} from "./app.po";
describe("workspace-project App", () => {
let page: AppPage;
beforeEach(() => { page = new AppPage(); });
// it('should display welcome message', async () => {
// await page.navigateTo();
// expect(await page.getTitleText()).toEqual('example 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));
});
});
@@ -0,0 +1,13 @@
import {browser, by, element} from "protractor";
export class AppPage {
async navigateTo(): Promise<unknown>
{
return browser.get(browser.baseUrl);
}
async getTitleText(): Promise<string>
{
return element(by.css("app-root .content span")).getText();
}
}
@@ -0,0 +1,10 @@
/* 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", "node"]
}
}