Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit b4166da

Browse files
committed
tests(cli-quickstart): add e2e test
1 parent 8fbba12 commit b4166da

File tree

6 files changed

+71
-7
lines changed

6 files changed

+71
-7
lines changed

gulpfile.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,19 @@ function findAndRunE2eTests(filter) {
167167
// fileName; then shut down the example. All protractor output is appended
168168
// to the outputFile.
169169
function runE2eTsTests(appDir, protractorConfigFilename, outputFile) {
170-
// start the app
171-
var appRunSpawnInfo = spawnExt('npm',['run','http-server:e2e', '--', '-s' ], { cwd: appDir });
172-
var tscRunSpawnInfo = spawnExt('npm',['run','tsc'], { cwd: appDir });
170+
// spawn tasks to start the app
171+
var appBuildSpawnInfo;
172+
var appRunSpawnInfo;
173+
174+
if (fs.existsSync(path.join(appDir, 'angular-cli.json'))) {
175+
appBuildSpawnInfo = spawnExt('npm',['run','build:cli'], { cwd: appDir });
176+
appRunSpawnInfo = spawnExt('npm',['run','http-server:cli', '--', '-s' ], { cwd: appDir });
177+
} else {
178+
appBuildSpawnInfo = spawnExt('npm',['run','tsc'], { cwd: appDir });
179+
appRunSpawnInfo = spawnExt('npm',['run','http-server:e2e', '--', '-s' ], { cwd: appDir });
180+
}
173181

174-
return runProtractor(tscRunSpawnInfo.promise, appDir, appRunSpawnInfo, protractorConfigFilename, outputFile);
182+
return runProtractor(appBuildSpawnInfo.promise, appDir, appRunSpawnInfo, protractorConfigFilename, outputFile);
175183
}
176184

177185
function runProtractor(prepPromise, appDir, appRunSpawnInfo, protractorConfigFilename, outputFile) {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// gulp run-e2e-tests --filter=cli-quickstart
2+
describe('angular2-cli-quickstart App', () => {
3+
beforeEach(() => {
4+
return browser.get('/');
5+
})
6+
7+
it('should display message saying app works', () => {
8+
var pageTitle = element(by.css('angular2-cli-quickstart-app h1')).getText()
9+
expect(pageTitle).toEqual('My First Angular 2 App');
10+
});
11+
});

public/docs/_examples/cli-quickstart/ts/example-config.json

Whitespace-only changes.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"name": "angular2-cli-quickstart",
3+
"version": "0.0.0",
4+
"license": "MIT",
5+
"angular-cli": {},
6+
"scripts": {
7+
"start": "ng server",
8+
"postinstall": "typings install",
9+
"lint": "tslint \"src/**/*.ts\"",
10+
"format": "clang-format -i -style=file --glob=src/**/*.ts",
11+
"pree2e": "webdriver-manager update",
12+
"e2e": "protractor"
13+
},
14+
"private": true,
15+
"dependencies": {
16+
"@angular/common": "2.0.0-rc.1",
17+
"@angular/compiler": "2.0.0-rc.1",
18+
"@angular/core": "2.0.0-rc.1",
19+
"@angular/platform-browser": "2.0.0-rc.1",
20+
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
21+
"@angular/router": "2.0.0-rc.1",
22+
"es6-shim": "^0.35.0",
23+
"reflect-metadata": "0.1.3",
24+
"rxjs": "5.0.0-beta.6",
25+
"systemjs": "0.19.26",
26+
"zone.js": "^0.6.12"
27+
},
28+
"devDependencies": {
29+
"angular-cli": "^1.0.0-beta.0",
30+
"clang-format": "^1.0.35",
31+
"codelyzer": "0.0.14",
32+
"ember-cli-inject-live-reload": "^1.4.0",
33+
"jasmine-core": "^2.4.1",
34+
"jasmine-spec-reporter": "^2.4.0",
35+
"karma": "^0.13.15",
36+
"karma-chrome-launcher": "^0.2.3",
37+
"karma-jasmine": "^0.3.8",
38+
"protractor": "^3.3.0",
39+
"ts-node": "^0.5.5",
40+
"tslint": "^3.6.0",
41+
"typescript": "^1.8.10",
42+
"typings": "^0.8.1"
43+
}
44+
}
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
11
/// <reference path="../typings/browser.d.ts" />
2-
3-
declare var module: { id: string };

public/docs/_examples/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"e2e": "tsc && concurrently \"http-server\" \"protractor protractor.config.js\"",
88
"http-server": "tsc && http-server",
99
"http-server:e2e": "http-server",
10+
"http-server:cli": "http-server dist/",
1011
"lite": "lite-server",
1112
"postinstall": "typings install",
1213
"test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"",
@@ -16,7 +17,8 @@
1617
"webdriver:update": "webdriver-manager update",
1718
"start:webpack": "webpack-dev-server --inline --progress --port 8080",
1819
"test:webpack": "karma start karma.webpack.conf.js",
19-
"build:webpack": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail"
20+
"build:webpack": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail",
21+
"build:cli": "ng build"
2022
},
2123
"keywords": [],
2224
"author": "",
@@ -40,6 +42,7 @@
4042
"bootstrap": "^3.3.6"
4143
},
4244
"devDependencies": {
45+
"angular-cli": "^1.0.0-beta.0",
4346
"canonical-path": "0.0.2",
4447
"concurrently": "^2.0.0",
4548
"css-loader": "^0.23.1",

0 commit comments

Comments
 (0)