Add test fixtures.
This commit is contained in:
parent
f228a9866b
commit
db4d713532
24
src/testing/activated-route-stub.ts
Normal file
24
src/testing/activated-route-stub.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { convertToParamMap, ParamMap, Params } from '@angular/router';
|
||||||
|
import { ReplaySubject } from 'rxjs';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An ActivateRoute test double with a `paramMap` observable.
|
||||||
|
* Use the `setParamMap()` method to add the next `paramMap` value.
|
||||||
|
*/
|
||||||
|
export class ActivatedRouteStub {
|
||||||
|
// Use a ReplaySubject to share previous values with subscribers
|
||||||
|
// and pump new values into the `paramMap` observable
|
||||||
|
private subject = new ReplaySubject<ParamMap>();
|
||||||
|
|
||||||
|
constructor(initialParams?: Params) {
|
||||||
|
this.setParamMap(initialParams);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** The mock paramMap observable */
|
||||||
|
readonly paramMap = this.subject.asObservable();
|
||||||
|
|
||||||
|
/** Set the paramMap observables's next value */
|
||||||
|
setParamMap(params?: Params): void {
|
||||||
|
this.subject.next(convertToParamMap(params));
|
||||||
|
}
|
||||||
|
}
|
6
src/testing/index.ts
Normal file
6
src/testing/index.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export * from './activated-route-stub';
|
||||||
|
export * from './router-link-directive-stub';
|
||||||
|
export * from './shared-module-stub';
|
||||||
|
export * from './user-service-stub';
|
||||||
|
export * from './token-service-stub';
|
||||||
|
export * from './transaction-service-stub';
|
14
src/testing/router-link-directive-stub.ts
Normal file
14
src/testing/router-link-directive-stub.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import {Directive, HostListener, Input} from '@angular/core';
|
||||||
|
|
||||||
|
@Directive({
|
||||||
|
selector: '[routerLink]'
|
||||||
|
})
|
||||||
|
export class RouterLinkDirectiveStub {
|
||||||
|
@Input('routerLink') linkParams: any;
|
||||||
|
navigatedTo: any = null;
|
||||||
|
|
||||||
|
@HostListener('click')
|
||||||
|
onClick(): void {
|
||||||
|
this.navigatedTo = this.linkParams;
|
||||||
|
}
|
||||||
|
}
|
10
src/testing/shared-module-stub.ts
Normal file
10
src/testing/shared-module-stub.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import {Component} from '@angular/core';
|
||||||
|
|
||||||
|
@Component({selector: 'app-sidebar', template: ''})
|
||||||
|
export class SidebarStubComponent {}
|
||||||
|
|
||||||
|
@Component({selector: 'app-topbar', template: ''})
|
||||||
|
export class TopbarStubComponent {}
|
||||||
|
|
||||||
|
@Component({selector: 'app-footer', template: ''})
|
||||||
|
export class FooterStubComponent {}
|
8
src/testing/token-service-stub.ts
Normal file
8
src/testing/token-service-stub.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export class TokenServiceStub {
|
||||||
|
getBySymbol(symbol: string): any {
|
||||||
|
return {
|
||||||
|
name: 'Reserve',
|
||||||
|
symbol: 'RSV'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
11
src/testing/transaction-service-stub.ts
Normal file
11
src/testing/transaction-service-stub.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import {Observable, of} from 'rxjs';
|
||||||
|
|
||||||
|
export class TransactionServiceStub {
|
||||||
|
setTransaction(transaction: any, cacheSize: number): void {}
|
||||||
|
|
||||||
|
setConversion(conversion: any): void {}
|
||||||
|
|
||||||
|
getAllTransactions(offset: number, limit: number): Observable<any> {
|
||||||
|
return of('Hello World');
|
||||||
|
}
|
||||||
|
}
|
80
src/testing/user-service-stub.ts
Normal file
80
src/testing/user-service-stub.ts
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
import {Observable, of} from 'rxjs';
|
||||||
|
|
||||||
|
export class UserServiceStub {
|
||||||
|
users = [
|
||||||
|
{id: 1, name: 'John Doe', phone: '+25412345678', address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865', type: 'user', created: '08/16/2020', balance: '12987', failedPinAttempts: 1, status: 'approved', bio: 'Bodaboda', gender: 'male'},
|
||||||
|
{id: 2, name: 'Jane Buck', phone: '+25412341234', address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865', type: 'vendor', created: '04/02/2020', balance: '56281', failedPinAttempts: 0, status: 'approved', bio: 'Groceries', gender: 'female'},
|
||||||
|
{id: 3, name: 'Mc Donald', phone: '+25498765432', address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865', type: 'group', created: '11/16/2020', balance: '450', failedPinAttempts: 2, status: 'unapproved', bio: 'Food', gender: 'male'},
|
||||||
|
{id: 4, name: 'Hera Cles', phone: '+25498769876', address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865', type: 'user', created: '05/28/2020', balance: '5621', failedPinAttempts: 3, status: 'approved', bio: 'Shop', gender: 'female'},
|
||||||
|
{id: 5, name: 'Silver Fia', phone: '+25462518374', address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865', type: 'token agent', created: '10/10/2020', balance: '817', failedPinAttempts: 0, status: 'unapproved', bio: 'Electronics', gender: 'male'},
|
||||||
|
];
|
||||||
|
|
||||||
|
actions = [
|
||||||
|
{ id: 1, user: 'Tom', role: 'enroller', action: 'Disburse RSV 100', approval: false },
|
||||||
|
{ id: 2, user: 'Christine', role: 'admin', action: 'Change user phone number', approval: true },
|
||||||
|
{ id: 3, user: 'Will', role: 'superadmin', action: 'Reclaim RSV 1000', approval: true },
|
||||||
|
{ id: 4, user: 'Vivian', role: 'enroller', action: 'Complete user profile', approval: true },
|
||||||
|
{ id: 5, user: 'Jack', role: 'enroller', action: 'Reclaim RSV 200', approval: false },
|
||||||
|
{ id: 6, user: 'Patience', role: 'enroller', action: 'Change user information', approval: false }
|
||||||
|
];
|
||||||
|
|
||||||
|
getUserById(id: string): any {
|
||||||
|
return {
|
||||||
|
id: 1,
|
||||||
|
name: 'John Doe',
|
||||||
|
phone: '+25412345678',
|
||||||
|
address: '0xc86ff893ac40d3950b4d5f94a9b837258b0a9865',
|
||||||
|
type: 'user',
|
||||||
|
created: '08/16/2020',
|
||||||
|
balance: '12987',
|
||||||
|
failedPinAttempts: 1,
|
||||||
|
status: 'approved',
|
||||||
|
bio: 'Bodaboda',
|
||||||
|
gender: 'male'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
getUser(userKey: string): Observable<any> {
|
||||||
|
console.log('Here');
|
||||||
|
return of({
|
||||||
|
dateRegistered: 1595537208,
|
||||||
|
key: {
|
||||||
|
ethereum: [
|
||||||
|
'0x51d3c8e2e421604e2b644117a362d589c5434739',
|
||||||
|
'0x9D7c284907acbd4a0cE2dDD0AA69147A921a573D'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
external: {},
|
||||||
|
latitude: '22.430670',
|
||||||
|
longitude: '151.002995'
|
||||||
|
},
|
||||||
|
selling: [
|
||||||
|
'environment',
|
||||||
|
'health',
|
||||||
|
'transport'
|
||||||
|
],
|
||||||
|
vcard: 'QkVHSU46VkNBUkQNClZFUlNJT046My4wDQpFTUFJTDphYXJuZXNlbkBob3RtYWlsLmNvbQ0KRk46S3VydMKgS3JhbmpjDQpOOktyYW5qYztLdXJ0Ozs7DQpURUw7VFlQPUNFTEw6NjkyNTAzMzQ5ODE5Ng0KRU5EOlZDQVJEDQo='
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
getActionById(id: string): any {
|
||||||
|
return {
|
||||||
|
id: 1,
|
||||||
|
user: 'Tom',
|
||||||
|
role: 'enroller',
|
||||||
|
action: 'Disburse RSV 100',
|
||||||
|
approval: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
approveAction(id: number): any {
|
||||||
|
return {
|
||||||
|
id: 1,
|
||||||
|
user: 'Tom',
|
||||||
|
role: 'enroller',
|
||||||
|
action: 'Disburse RSV 100',
|
||||||
|
approval: true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user