Skip to content

Commit 4e176c4

Browse files
Merge pull request #1 from stonelasley/master
update with forked repo
2 parents 58f6b7f + daf5661 commit 4e176c4

13 files changed

+419
-196
lines changed

README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ to be used in your tests it should be safe to pull into a project.
3030
- Popover
3131
- PopoverController
3232
- NavController
33-
- Nav
3433
- NavParams
3534
- StatusBar
3635
- Storage
@@ -42,10 +41,12 @@ to be used in your tests it should be safe to pull into a project.
4241

4342
## Native Plugins
4443
- 3DTouch
44+
- GoogleAnalyics
4545
- Keyboard
4646
- Network
47+
- NFC
4748
- Splashscreen
48-
- Network
49+
- StatusBar
4950

5051
## Installation
5152
```bash
@@ -131,6 +132,16 @@ TestBed.configureTestingModule({
131132
]
132133
});
133134
```
135+
# Contributing
136+
This project has a long way to go and is full of opportunities to contribute.
137+
I am back in school and working so for the rest of the year expect my responsiveness on this project to be slow. If anyone is up to helping vet PRs please message me. sclarklasley@gmail.com
138+
139+
## Contributors
140+
- [Felix Whittmann](https://github.com/hfwittmann)
141+
- [Leif Wells](https://github.com/leifwells)
142+
- [Damir Arh](https://github.com/damirarh)
143+
- [Rvdleun](https://github.com/rvdleun)
144+
- [Andrey Zakharov](https://github.com/enstain)
134145

135146
### Frequently Asked Questions:
136147

@@ -153,6 +164,5 @@ Make sure you are using the `useFactory` property name and using the fat arrow f
153164

154165
```ts
155166
// DO THIS
156-
{ provide: App, useClass: () => AppMock.instance() }
167+
{ provide: App, useFactory: () => AppMock.instance() }
157168
```
158-

package.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
{
22
"name": "ionic-mocks",
3-
"version": "0.13.0",
4-
"description": "Stubbed and Pre-mocked Ionic2 Objects",
3+
"version": "1.0.3",
4+
"description": "Stubbed and Pre-mocked Ionic2+ Objects",
55
"repository": "git@github.com:stonelasley/ionic-mocks.git",
66
"main": "./dist/index.js",
77
"typings": "./dist/index.d.ts",
88
"author": "Stone C. Lasley",
9+
"keywords": [
10+
"ionic",
11+
"ionic2",
12+
"ionic3",
13+
"mocks",
14+
"mock",
15+
"doubles"
16+
],
17+
"bugs": {
18+
"url": "https://github.com/stonelasley/ionic-mocks"
19+
},
920
"license": "MIT",
1021
"scripts": {
1122
"test": "karma start",

src/angular/alert.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
export class AlertMock {
22
public static instance(): any {
3-
let instance = jasmine.createSpyObj('Alert', ['present', 'dismiss']);
3+
let _dismissCallback: Function;
4+
let instance = jasmine.createSpyObj('Alert', ['present', 'dismiss', 'onDidDismiss']);
45
instance.present.and.returnValue(Promise.resolve());
5-
instance.dismiss.and.returnValue(Promise.resolve());
6+
7+
instance.dismiss.and.callFake(() => {
8+
_dismissCallback();
9+
return Promise.resolve();
10+
});
11+
12+
instance.onDidDismiss.and.callFake((callback: Function) => {
13+
_dismissCallback = callback;
14+
});
615

716
return instance;
817
}

src/angular/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {MenuControllerMock} from './menu-controller';
1616
import {ModalMock} from './modal';
1717
import {ModalControllerMock} from './modal-controller';
1818
import {NavControllerMock} from './nav-controller';
19-
import {NavMock} from './nav';
2019
import {NavParamsMock} from './nav-params';
2120
import {TabMock} from './tab';
2221
import {TabsMock} from './tabs';
@@ -48,7 +47,6 @@ export {
4847
ModalMock,
4948
ModalControllerMock,
5049
NavControllerMock,
51-
NavMock,
5250
NavParamsMock,
5351
TabMock,
5452
TabsMock,

src/angular/modal.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
export class ModalMock {
22
public static instance(): any {
3+
let _dismissCallback: Function;
34
let instance = jasmine.createSpyObj('Modal', ['present', 'dismiss', 'onDidDismiss']);
45
instance.present.and.returnValue(Promise.resolve());
5-
instance.dismiss.and.returnValue(Promise.resolve());
6+
7+
instance.dismiss.and.callFake(() => {
8+
_dismissCallback();
9+
return Promise.resolve();
10+
});
11+
12+
instance.onDidDismiss.and.callFake((callback: Function) => {
13+
_dismissCallback = callback;
14+
});
615

716
return instance;
817
}

src/angular/nav-controller.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { NavControllerMock } from './nav-controller';
2+
describe('NavControllerMock', () => {
3+
it('should initialize', () => {
4+
let instance = NavControllerMock.instance();
5+
expect(instance).toBeDefined();
6+
});
7+
8+
});

src/angular/nav-controller.ts

Lines changed: 83 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,95 @@
1+
import {Observable} from 'rxjs/Observable';
2+
import { ViewControllerMock } from './view-controller';
3+
14
export class NavControllerMock {
5+
26
public static instance(): any {
37

4-
let instance = jasmine.createSpyObj('navController', [
8+
let instance: any = jasmine.createSpyObj('NavController', [
9+
'goToRoot',
10+
'initPane',
11+
'paneChanged',
512
'push',
13+
'insert',
14+
'insertPage',
615
'pop',
7-
'ionViewDidLoad',
8-
'ionViewWillEnter',
9-
'ionViewDidEnter',
10-
'ionViewWillLeave',
11-
'ionViewWillUnload',
12-
'ionViewCanEnter',
13-
'ionViewCanLeave'
16+
'popTo',
17+
'popToRoot',
18+
'popAll',
19+
'remove',
20+
'removeView',
21+
'setRoot',
22+
'setPages',
23+
'hasChildren',
24+
'getActiveChildNav',
25+
'registerChildNav',
26+
'unregisterChildNav',
27+
'destroy',
28+
'swipeBackStart',
29+
'swipeBackProgress',
30+
'swipeBackEnd',
31+
'canSwipeBack',
32+
'canGoBack',
33+
'isTransitioning',
34+
'setTransitioning',
35+
'getActive',
36+
'isActive',
37+
'getByIndex',
38+
'getPrevious',
39+
'first',
40+
'last',
41+
'indexOf',
42+
'length',
43+
'getViews',
44+
'isSwipeBackEnabled',
45+
'dismissPageChangeViews',
46+
'setViewPort',
47+
'resize',
48+
'viewDidEnter',
49+
'viewDidLeave',
50+
'viewDidLoad',
51+
'viewWillEnter',
52+
'viewWillLeave',
53+
'viewWillUnload'
1454
]);
1555

56+
instance.goToRoot.and.returnValue(Promise.resolve());
57+
instance.initPane.and.returnValue(1);
58+
59+
instance['root'] = ViewControllerMock.instance();
60+
instance['rootParams'] = {};
61+
1662
instance.push.and.returnValue(Promise.resolve());
63+
instance.insert.and.returnValue(Promise.resolve());
64+
instance.insertPage.and.returnValue(Promise.resolve());
1765
instance.pop.and.returnValue(Promise.resolve());
18-
instance.ionViewCanEnter.and.returnValue(true);
19-
instance.ionViewCanLeave.and.returnValue(true);
66+
instance.popTo.and.returnValue(Promise.resolve());
67+
instance.popToRoot.and.returnValue(Promise.resolve());
68+
instance.popAll.and.returnValue(Promise.resolve());
69+
instance.remove.and.returnValue(Promise.resolve());
70+
instance.removeView.and.returnValue(Promise.resolve());
71+
instance.setRoot.and.returnValue(Promise.resolve());
72+
instance.setPages.and.returnValue(Promise.resolve());
73+
instance.hasChildren.and.returnValue(true);
74+
instance.canSwipeBack.and.returnValue(true);
75+
instance.canGoBack.and.returnValue(true);
76+
instance.isTransitioning.and.returnValue(false);
77+
instance.getActive.and.returnValue(ViewControllerMock.instance());
78+
instance.isActive.and.returnValue(true);
79+
instance.getByIndex.and.returnValue(ViewControllerMock.instance());
80+
instance.getPrevious.and.returnValue(ViewControllerMock.instance());
81+
instance.first.and.returnValue(ViewControllerMock.instance());
82+
instance.last.and.returnValue(ViewControllerMock.instance());
83+
instance.indexOf.and.returnValue(0);
84+
instance.length.and.returnValue(0);
85+
instance.getViews.and.returnValue([]);
86+
instance.isSwipeBackEnabled.and.returnValue(true);
87+
instance.viewDidEnter = Observable.of();
88+
instance.viewDidLeave = Observable.of();
89+
instance.viewDidLoad = Observable.of();
90+
instance.viewWillEnter = Observable.of();
91+
instance.viewWillLeave = Observable.of();
92+
instance.viewWillUnload = Observable.of();
2093

2194
return instance;
2295
}

src/angular/nav.ts

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

src/angular/view-controller.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { ViewControllerMock } from './view-controller';
2+
describe('ViewControllerMock', () => {
3+
it('should initialize', () => {
4+
let instance = ViewControllerMock.instance();
5+
expect(instance).toBeDefined();
6+
});
7+
8+
});

0 commit comments

Comments
 (0)