0.0.5 • Published 5 years ago
brewdigital-mock-request v0.0.5
Brew Requests Angular
A mock request system for Angular
Install
npm install brewdigital-mock-request
oryarn add brewdigital-mock-request
Getting Started
Get Single Mocked Item
Data Object
export const post = {
title: 'Title One',
description: 'Blah blah blah'
};
Example Component
import {Component, OnInit} from '@angular/core';
import {BehaviorSubject} from 'rxjs';
import {responseType} from 'brewdigital-requests';
import {post} from './data/post.data';
import {MockRequestService, FetchItem} from 'brewdigital-mock-request';
@Component({
selector: 'app-post',
template: `
<div>
<h2>{{post.value.title}}</h2>
<p>{{post.value.description}}</p>
</div>
`,
providers: [
MockRequestService
]
})
export class PostComponent implements OnInit {
private _data$ = new BehaviorSubject({
title: '',
description: ''
});
constructor(
private request: MockRequestService
) {
const fetch = new FetchItem();
fetch.data = post;
request.fetchData = fetch;
}
get post(): BehaviorSubject<{ description: string; title: string }> {
return this._data$;
}
ngOnInit(): void {
this.request.fetch('/posts').subscribe(response => {
switch (response.type) {
case responseType.SUCCESS:
this._data$.next(response.data);
break;
default:
console.log('Handle Error');
}
});
}
}
Get Array of Mocked Rows
Data Object
export const posts = [
{
title: 'Title One',
description: 'Blah blah blah'
},
{
title: 'Title Two',
description: 'Blah blah blah'
},
{
title: 'Title Three',
description: 'Blah blah blah'
},
];
Example Component
import {Component, OnInit} from '@angular/core';
import {posts} from './data/posts.data';
import {BehaviorSubject} from 'rxjs';
import {responseType} from 'brewdigital-requests';
import {MockRequestService, FetchRows} from 'brewdigital-mock-request';
@Component({
selector: 'app-posts',
template: `
<div *ngFor="let post of (posts | async)">
<h2>{{post.title}}</h2>
<p>{{post.description}}</p>
</div>
`,
providers: [
MockRequestService
]
})
export class PostsComponent implements OnInit {
private _data$ = new BehaviorSubject([{
title: '',
description: ''
}]);
constructor(
private request: MockRequestService
) {
const fetchRows = new FetchRows();
fetchRows.data = posts;
fetchRows.total = 5;
request.fetchData = fetchRows;
}
get posts(): BehaviorSubject<{ description: string; title: string }[]> {
return this._data$;
}
ngOnInit(): void {
this.request.fetch('/posts').subscribe(response => {
switch (response.type) {
case responseType.SUCCESS:
this._data$.next(response.data);
break;
default:
console.log('Handle Error');
}
});
}
}