Skip to content

Commit e0b3497

Browse files
Fix tests
1 parent 4e8aeca commit e0b3497

File tree

18 files changed

+95
-499
lines changed

18 files changed

+95
-499
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/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/const.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const initialDisplayName = "initialdisplay";

tests/e2e/lazy-load-routing.ts

Lines changed: 46 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,58 @@
1-
"use strict";
2-
var nsAppium = require("nativescript-dev-appium");
1+
import { AppiumDriver, createDriver } from "nativescript-dev-appium";
2+
import { assert } from "chai";
3+
import { initialDisplayName } from "./const";
34

4-
describe("lazy load routing", function () {
5-
this.timeout(360000);
6-
var driver;
5+
describe("lazy load routing", async function () {
6+
let driver: AppiumDriver;
7+
const imagesResults = new Map<string, boolean>();
8+
const lazyLoadedDisplay = "lazyLoadedDisplay";
79

8-
before(function () {
9-
driver = nsAppium.createDriver();
10+
before(async () => {
11+
driver = await createDriver();
12+
await driver.resetApp();
1013
});
1114

12-
after(function () {
13-
return driver
14-
.quit()
15-
.finally(function () {
16-
console.log("Driver quit successfully");
17-
});
15+
afterEach("clear image results", () => {
16+
imagesResults.clear();
1817
});
1918

20-
it("loads default path", function () {
21-
return driver
22-
.waitForElementByAccessibilityId("first-lazy-load", 300000)
23-
.elementByAccessibilityId("first-lazy-load")
24-
.should.eventually.exist
25-
.text().should.eventually.equal("First: lazy-load")
19+
const loadFirstLazyLoadPage = async () => {
20+
await (await driver.findElementByAccessibilityId("first-navigate-lazy-load")).tap();
21+
}
22+
23+
it("loads default path", async () => {
24+
const initDisplay = await driver.compareScreen(initialDisplayName, 1, 0.01);
25+
assert.isTrue(initDisplay);
2626
});
2727

28-
it("navigates and returns", function () {
29-
var expectedHookLog = [
30-
"first.init", // <-- load
31-
"second.init", // <-- forward (first component is not destroyed)
32-
"second.destroy"] // <-- back (first component is reused)
33-
.join(",");
34-
return driver
35-
.waitForElementByAccessibilityId("first-navigate-lazy-load", 300000)
36-
.elementByAccessibilityId("first-navigate-lazy-load")
37-
.should.eventually.exist
38-
.tap()
39-
.elementByAccessibilityId("second-lazy-load")
40-
.should.eventually.exist
41-
.text().should.eventually.equal("Second: lazy-load")
42-
.elementByAccessibilityId("router-location-strategy-states-lazy-load")
43-
.text().should.eventually.equal("/first/lazy-load,/second/lazy-load")
44-
.elementByAccessibilityId("second-navigate-back-lazy-load")
45-
.should.eventually.exist
46-
.tap()
47-
.elementByAccessibilityId("first-lazy-load")
48-
.should.eventually.exist
49-
.text().should.eventually.equal("First: lazy-load")
50-
.elementByAccessibilityId("hooks-log-lazy-load")
51-
.text().should.eventually.equal(expectedHookLog)
28+
it("navigates and returns", async () => {
29+
await loadFirstLazyLoadPage();
30+
compareScreen(lazyLoadedDisplay);
31+
32+
const btn = await driver.findElementByAccessibilityId("second-navigate-back-lazy-load");
33+
btn.tap();
34+
compareScreen(initialDisplayName);
35+
36+
assertImages();
5237
});
5338

54-
it("navigates and clear history", function() {
55-
return driver
56-
.waitForElementByAccessibilityId("first-navigate-lazy-load", 300000)
57-
.elementByAccessibilityId("first-navigate-clear-history-lazy-load")
58-
.should.eventually.exist
59-
.tap()
60-
.elementByAccessibilityId("second-lazy-load")
61-
.should.eventually.exist
62-
.text().should.eventually.equal("Second: lazy-load")
63-
.elementByAccessibilityId("router-location-strategy-states-lazy-load")
64-
.text().should.eventually.equal("/second/lazy-load")
39+
it("navigates and clear history", async () => {
40+
await loadFirstLazyLoadPage();
41+
compareScreen(lazyLoadedDisplay);
42+
43+
await driver.navBack();
44+
compareScreen(initialDisplayName);
45+
46+
assertImages();
6547
});
48+
49+
async function compareScreen(imageName){
50+
imagesResults.set(lazyLoadedDisplay, await driver.compareScreen("lazyLoaded", 1, 0.01));
51+
}
52+
53+
function assertImages(){
54+
for (let key in imagesResults) {
55+
assert.isTrue(imagesResults.get(key), `Image is not correct ${key}`);
56+
}
57+
}
6658
});

tests/e2e/multi-page-routing.ts

Lines changed: 17 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,24 @@
1-
"use strict";
2-
var nsAppium = require("nativescript-dev-appium");
1+
import { AppiumDriver, createDriver } from "nativescript-dev-appium";
2+
import { assert } from "chai";
3+
import { initialDisplayName } from "./const";
34

4-
describe("multi page routing", function () {
5-
this.timeout(360000);
6-
var driver;
5+
describe("multi page routing", async () => {
6+
let driver: AppiumDriver;
77

8-
before(function () {
9-
driver = nsAppium.createDriver();
8+
before(async () => {
9+
driver = await createDriver();
10+
await driver.resetApp();
1011
});
1112

12-
after(function () {
13-
return driver
14-
.quit()
15-
.finally(function () {
16-
console.log("Driver quit successfully");
17-
});
18-
});
19-
20-
it("loads default path", function () {
21-
return driver
22-
.waitForElementByAccessibilityId("first-multi-page", 300000)
23-
.elementByAccessibilityId("first-multi-page")
24-
.should.eventually.exist
25-
.text().should.eventually.equal("First: multi-page")
26-
});
13+
it("navigates and returns", async () => {
14+
let btn = await driver.findElementByAccessibilityId("first-navigate-multi-page");
15+
await btn.tap();
16+
let result = await driver.compareScreen("multiPage", 1, 0.01);
17+
assert.isTrue(result, `Multi page screen is not correct!`);
2718

28-
it("navigates and returns", function () {
29-
var expectedHookLog = [
30-
"first.init", // <-- load
31-
"second.init", // <-- forward (first component is not destroyed)
32-
"second.destroy"] // <-- back (first component is reused)
33-
.join(",");
34-
return driver
35-
.waitForElementByAccessibilityId("first-navigate-multi-page", 300000)
36-
.elementByAccessibilityId("first-navigate-multi-page")
37-
.should.eventually.exist
38-
.tap()
39-
.elementByAccessibilityId("second-multi-page")
40-
.should.eventually.exist
41-
.text().should.eventually.equal("Second: multi-page")
42-
.elementByAccessibilityId("second-navigate-back-multi-page")
43-
.should.eventually.exist
44-
.tap()
45-
.elementByAccessibilityId("first-multi-page")
46-
.should.eventually.exist
47-
.text().should.eventually.equal("First: multi-page")
48-
.elementByAccessibilityId("hooks-log-multi-page")
49-
.text().should.eventually.equal(expectedHookLog)
19+
btn = await driver.findElementByAccessibilityId("second-navigate-back-multi-page");
20+
await btn.tap();
21+
result = await driver.compareScreen("multiPageInitialDisplay",1,0.01);
22+
assert.isTrue(result, `Init screen is not correct!!!`);
5023
});
5124
});
75.1 KB
Loading
75.3 KB
Loading
31.4 KB
Loading
75.1 KB
Loading
31.7 KB
Loading

0 commit comments

Comments
 (0)