initial codebase

This commit is contained in:
anweshknayak
2018-05-28 21:01:27 +05:30
commit 5eedfa13bd
136 changed files with 19812 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': process.env.PROTRACTOR_BROWSER || 'chrome'
},
// Only works with Chrome and Firefox
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine2',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
// Better console spec reporter
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
+21
View File
@@ -0,0 +1,21 @@
import { browser } from 'protractor';
import { AppPage } from './app.po';
describe('app', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display login page and login into app', () => {
page.navigateTo();
expect(browser.getCurrentUrl()).toContain('/login');
page.login();
});
it('should display hello message', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Hello world !');
});
});
+32
View File
@@ -0,0 +1,32 @@
/*
* Use the Page Object pattern to define the page under test.
* See docs/coding-guide/e2e-tests.md for more info.
*/
import { browser, element, by } from 'protractor';
export class AppPage {
usernameField = element(by.css('input[formControlName="username"]'));
passwordField = element(by.css('input[formControlName="password"]'));
loginButton = element(by.css('button[type="submit"]'));
constructor() {
// Forces default language
this.navigateTo();
browser.executeScript(() => localStorage.setItem('language', 'en-US'));
}
navigateTo() {
return browser.get('/');
}
login() {
this.usernameField.sendKeys('test');
this.passwordField.sendKeys('123');
this.loginButton.click();
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"baseUrl": "./",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}