Skip to content

Commit b874a53

Browse files
Merge pull request #1019 from NativeScript/tsenov/tests
Tsenov/tests
2 parents 1138955 + d09bd65 commit b874a53

30 files changed

+293
-552
lines changed

tests/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ typings
66
.tscache
77

88
app/**/*.js
9+
e2e/**/*.js
910
app/**/*.map
11+
e2e/**/*.map
12+
e2e/reports
13+
test-results.xml
1014
platforms
1115
lib

tests/app/app.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import {Component} from "@angular/core";
2-
import {SinglePageMain} from "./single-page-main.component";
3-
import {MultiPageMain} from "./multi-page-main.component";
1+
import { Component } from "@angular/core";
2+
import { SinglePageMain } from "./single-page-main.component";
3+
import { MultiPageMain } from "./multi-page-main.component";
44

55
@Component({
66
selector: "my-app",

tests/app/tests/property-sets.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ describe("setting View properties", () => {
4646
it("doesn\'t convert number values", () => {
4747
let view = new TestView();
4848
viewUtil.setProperty(view, "numValue", "42");
49-
assert.strictEqual("42", view.numValue);
49+
assert.strictEqual(42, view.numValue);
5050

5151
viewUtil.setProperty(view, "numValue", "42.");
52-
assert.strictEqual("42.", view.numValue);
52+
assert.strictEqual(42., view.numValue);
5353

5454
viewUtil.setProperty(view, "numValue", 0);
5555
assert.strictEqual(0, view.numValue);
@@ -58,9 +58,9 @@ describe("setting View properties", () => {
5858
it("doesn\'t convert boolean values", () => {
5959
let view = new TestView();
6060
viewUtil.setProperty(view, "boolValue", "true");
61-
assert.strictEqual("true", view.boolValue);
61+
assert.strictEqual(true, view.boolValue);
6262
viewUtil.setProperty(view, "boolValue", "false");
63-
assert.strictEqual("false", view.boolValue);
63+
assert.strictEqual(false, view.boolValue);
6464
});
6565

6666
it("sets style values", () => {

tests/e2e-tests/lazy-load-routing.js

Lines changed: 0 additions & 66 deletions
This file was deleted.

tests/e2e-tests/multi-page-routing.js

Lines changed: 0 additions & 51 deletions
This file was deleted.

tests/e2e-tests/single-page-routing.js

Lines changed: 0 additions & 53 deletions
This file was deleted.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"android19": {
3+
"platformName": "Android",
4+
"platformVersion": "4.4",
5+
"deviceName": "Emulator-Api19-Default",
6+
"avd": "Emulator-Api19-Default",
7+
"lt": 60000,
8+
"appActivity": "com.tns.NativeScriptActivity",
9+
"newCommandTimeout": 720,
10+
"noReset": true,
11+
"fullReset": false,
12+
"app": ""
13+
},
14+
"android21": {
15+
"platformName": "Android",
16+
"platformVersion": "5.0",
17+
"deviceName": "Emulator-Api21-Default",
18+
"avd": "Emulator-Api21-Default",
19+
"lt": 60000,
20+
"appActivity": "com.tns.NativeScriptActivity",
21+
"newCommandTimeout": 720,
22+
"noReset": true,
23+
"fullReset": false,
24+
"app": ""
25+
},
26+
"android23": {
27+
"platformName": "Android",
28+
"platformVersion": "6.0",
29+
"deviceName": "Emulator-Api23-Default",
30+
"avd": "Emulator-Api23-Default",
31+
"lt": 60000,
32+
"appActivity": "com.tns.NativeScriptActivity",
33+
"newCommandTimeout": 720,
34+
"noReset": true,
35+
"fullReset": false,
36+
"app": ""
37+
},
38+
"android24": {
39+
"platformName": "Android",
40+
"platformVersion": "7.0",
41+
"deviceName": "Emulator-Api24-Default",
42+
"avd": "Emulator-Api24-Default",
43+
"lt": 60000,
44+
"appActivity": "com.tns.NativeScriptActivity",
45+
"newCommandTimeout": 720,
46+
"noReset": true,
47+
"fullReset": false,
48+
"app": ""
49+
},
50+
"android25": {
51+
"platformName": "Android",
52+
"platformVersion": "7.1",
53+
"deviceName": "Emulator-Api25-Google",
54+
"avd": "Emulator-Api25-Google",
55+
"lt": 60000,
56+
"appActivity": "com.tns.NativeScriptActivity",
57+
"newCommandTimeout": 720,
58+
"noReset": true,
59+
"fullReset": false,
60+
"app": ""
61+
},
62+
"android26": {
63+
"platformName": "Android",
64+
"platformVersion": "8.0",
65+
"deviceName": "Emulator-Api26-Google",
66+
"avd": "Emulator-Api26-Google",
67+
"lt": 60000,
68+
"appActivity": "com.tns.NativeScriptActivity",
69+
"newCommandTimeout": 720,
70+
"noReset": true,
71+
"fullReset": false,
72+
"app": ""
73+
},
74+
"sim.iPhone7.iOS100": {
75+
"platformName": "iOS",
76+
"platformVersion": "10.0",
77+
"deviceName": "iPhone 7 100",
78+
"noReset": true,
79+
"fullReset": false,
80+
"app": ""
81+
},
82+
"sim.iPhone7.iOS110": {
83+
"platformName": "iOS",
84+
"platformVersion": "11.0",
85+
"deviceName": "iPhone 7 110",
86+
"noReset": true,
87+
"fullReset": false,
88+
"app": ""
89+
}
90+
}

tests/e2e/config/mocha.opts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
--timeout 140000
2+
--recursive e2e
3+
--reporter mocha-multi
4+
--reporter-options spec=-,mocha-junit-reporter=test-results.xml

tests/e2e/const.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/e2e/helpers/image-helper.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { AppiumDriver } from "nativescript-dev-appium";
2+
import { assert } from "chai";
3+
4+
export class ImageHelper {
5+
private _imagesResults = new Map<string, boolean>();
6+
7+
constructor(private _driver: AppiumDriver) { }
8+
9+
public async compareScreen(imageName, retryCounts = 1, tollerance = 0.01) {
10+
this._imagesResults.set(imageName, await this._driver.compareScreen(imageName, retryCounts, tollerance));
11+
}
12+
13+
public assertImages() {
14+
for (let key in this._imagesResults) {
15+
assert.isTrue(this._imagesResults.get(key), `Image is not correct ${key}`);
16+
}
17+
}
18+
19+
public reset(){
20+
this._imagesResults.clear();
21+
}
22+
}

tests/e2e/lazy-load-routing.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { AppiumDriver, createDriver } from "nativescript-dev-appium";
2+
import { assert } from "chai";
3+
import { ImageHelper } from "./helpers/image-helper"
4+
5+
describe("lazy load routing", async function () {
6+
let driver: AppiumDriver;
7+
let imageHelper: ImageHelper;
8+
const lazyLoadedDisplay = "lazyLoadedDisplay";
9+
10+
before(async () => {
11+
driver = await createDriver();
12+
await driver.resetApp();
13+
imageHelper = new ImageHelper(driver);
14+
});
15+
16+
afterEach("clear image results", () => {
17+
imageHelper.reset();
18+
});
19+
20+
it("navigates and returns", async () => {
21+
await (await driver.findElementByAccessibilityId("first-navigate-lazy-load")).tap();
22+
imageHelper.compareScreen("first-navigate-lazy-load-screen");
23+
24+
const btn = await driver.findElementByAccessibilityId("second-navigate-back-lazy-load");
25+
btn.tap();
26+
imageHelper.compareScreen("second-navigate-back-lazy-load-screen");
27+
28+
imageHelper.assertImages();
29+
});
30+
31+
it("navigates and clear history", async () => {
32+
await (await driver.findElementByAccessibilityId("first-navigate-clear-history-lazy-load")).tap();
33+
imageHelper.compareScreen("first-navigate-clear-history-lazy-load-screen");
34+
35+
await driver.navBack();
36+
imageHelper.compareScreen("first-navigate-clear-history-lazy-load-nav-back-sceen");
37+
38+
imageHelper.assertImages();
39+
});
40+
});

0 commit comments

Comments
 (0)