Skip to content

Commit 0edad68

Browse files
author
vakrilov
committed
chore(test): Provide NSLocationStrategy for modal tests
1 parent 67baa31 commit 0edad68

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

tests/app/tests/modal-dialog.ts

+18-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
// make sure you import mocha-config before @angular/core
2-
import {assert} from "./test-config";
3-
import {Component, ViewContainerRef} from "@angular/core";
4-
import {Page} from "ui/page";
5-
import {topmost} from "ui/frame";
6-
import {ModalDialogParams, ModalDialogService} from "nativescript-angular/directives/dialogs";
2+
import { assert } from "./test-config";
3+
import { Component, ViewContainerRef } from "@angular/core";
4+
import { Page } from "ui/page";
5+
import { topmost } from "ui/frame";
6+
import { ModalDialogParams, ModalDialogService } from "nativescript-angular/directives/dialogs";
77

8-
import {device, platformNames} from "platform";
8+
import { device, platformNames } from "platform";
99

10-
import {ComponentFixture} from "@angular/core/testing";
11-
import {nsTestBedRender, nsTestBedAfterEach, nsTestBedBeforeEach} from "nativescript-angular/testing";
10+
import { ComponentFixture } from "@angular/core/testing";
11+
import { nsTestBedRender, nsTestBedAfterEach, nsTestBedBeforeEach } from "nativescript-angular/testing";
12+
import { NSLocationStrategy } from "nativescript-angular/router/ns-location-strategy";
13+
import { FrameService } from "nativescript-angular";
14+
import { FakeFrameService } from "./ns-location-strategy";
1215
const CLOSE_WAIT = (device.os === platformNames.ios) ? 1000 : 0;
1316

1417
@Component({
@@ -50,7 +53,11 @@ export class SuccessComponent {
5053

5154
describe("modal-dialog", () => {
5255

53-
beforeEach(nsTestBedBeforeEach([FailComponent, SuccessComponent], [], [], [ModalComponent]));
56+
beforeEach(nsTestBedBeforeEach(
57+
[FailComponent, SuccessComponent],
58+
[{ provide: FrameService, useValue: new FakeFrameService() }, NSLocationStrategy],
59+
[],
60+
[ModalComponent]));
5461
afterEach(nsTestBedAfterEach());
5562
before((done) => {
5663
// HACK: Wait for the navigations from the test runner app
@@ -84,14 +91,14 @@ describe("modal-dialog", () => {
8491
.then((fixture: ComponentFixture<SuccessComponent>) => {
8592
const service = <ModalDialogService>fixture.componentRef.instance.service;
8693
const comp = <SuccessComponent>fixture.componentRef.instance;
87-
return service.showModal(ModalComponent, {viewContainerRef: comp.vcRef});
94+
return service.showModal(ModalComponent, { viewContainerRef: comp.vcRef });
8895
})
8996
.then((res) => setTimeout(done, CLOSE_WAIT)) // wait for the dialog to close in IOS
9097
.catch((e) => done(e));
9198
});
9299

93100
it("showModal passes modal params and gets result when resolved", (done) => {
94-
const context = {property: "my context"};
101+
const context = { property: "my context" };
95102
nsTestBedRender(SuccessComponent)
96103
.then((fixture: ComponentFixture<SuccessComponent>) => {
97104
const service = <ModalDialogService>fixture.componentRef.instance.service;

tests/app/tests/ns-location-strategy.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Page } from "ui/page";
77
import { View } from "ui/core/view";
88
import { FrameService } from "nativescript-angular/platform-providers";
99

10-
class FakeFrameService extends FrameService {
10+
export class FakeFrameService extends FrameService {
1111
private frame: Frame;
1212
constructor(private backCB?: () => void) {
1313
super();
@@ -19,7 +19,7 @@ class FakeFrameService extends FrameService {
1919
}
2020
}
2121

22-
class FakeFrame extends View implements Frame {
22+
export class FakeFrame extends View implements Frame {
2323
backStack: Array<BackstackEntry>;
2424
currentPage: Page;
2525
currentEntry: NavigationEntry;

0 commit comments

Comments
 (0)