Skip to content

Commit 5d7f067

Browse files
Marcellin NshimiyimanaMarcellin Nshimiyimana
Marcellin Nshimiyimana
authored and
Marcellin Nshimiyimana
committed
feat(generator): expose instance of the data generatiion service
BREAKING CHANGE: Now you can the generator without having ti create a request handler
1 parent efdff57 commit 5d7f067

File tree

6 files changed

+19
-53
lines changed

6 files changed

+19
-53
lines changed

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-mock",
3-
"version": "4.1.0",
3+
"version": "5.1.0",
44
"description": "Mocking api calls from React Applications, using Pretenderjs and Fakerjs",
55
"keywords": [],
66
"main": "dist/react-mock.umd.js",

src/react-mock/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,5 @@ export default class ServerClass {
109109
export const Faker = faker
110110
export { uid } from './uid'
111111
export { IDataGenerator } from './data-generator'
112+
export const FakerGenerator = new DataGeneratorClass()
112113
export const Server = new ServerClass()

test/acceptance/mock-get.test.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
// import ServerClass, { Server, Faker, uid } from 'react-mock'
22
import axios from 'axios'
3-
import ServerClass, {
4-
Server,
5-
Faker,
6-
uid,
7-
IDataGenerator
8-
} from '../../src/react-mock'
3+
import ServerClass, { Server, Faker, uid, IDataGenerator } from '../../src/react-mock'
94

105
describe('Get Request', () => {
116
afterEach(() => {
@@ -27,13 +22,9 @@ describe('Get Request', () => {
2722
}
2823

2924
it('mocks get request with array response', () => {
30-
const requestHandler = (request, generator): [number, any, string] => {
25+
const requestHandler = (request, generator: IDataGenerator): [number, any, string] => {
3126
const guides = generator.next(5, schema)
32-
return [
33-
200,
34-
{ 'Content-Type': 'application/json' },
35-
JSON.stringify(guides)
36-
]
27+
return [200, { 'Content-Type': 'application/json' }, JSON.stringify(guides)]
3728
}
3829

3930
Server.mockGet(apiRoute, requestHandler, 1000)
@@ -54,11 +45,7 @@ describe('Get Request', () => {
5445
it('mocks get request with map response', () => {
5546
const requestHandler = (request, generator): [number, any, string] => {
5647
const guides = generator.next(5, schema, true)
57-
return [
58-
200,
59-
{ 'Content-Type': 'application/json' },
60-
JSON.stringify(guides)
61-
]
48+
return [200, { 'Content-Type': 'application/json' }, JSON.stringify(guides)]
6249
}
6350

6451
Server.mockGet(apiRoute, requestHandler, 1000)

test/acceptance/mock-post.test.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
// import ServerClass, { Server, Faker, uid } from 'react-mock'
22
import axios from 'axios'
3-
import ServerClass, {
4-
Server,
5-
Faker,
6-
uid,
7-
IDataGenerator
8-
} from '../../src/react-mock'
3+
import ServerClass, { Server, Faker, uid, FakerGenerator } from '../../src/react-mock'
94

105
describe('Post Request', () => {
116
afterEach(() => {
@@ -30,11 +25,7 @@ describe('Post Request', () => {
3025
it('mocks post request with an object response that has id', () => {
3126
const requestHandler = (request, generator): [number, any, string] => {
3227
const guide = { ...schema, id }
33-
return [
34-
201,
35-
{ 'Content-Type': 'application/json' },
36-
JSON.stringify(guide)
37-
]
28+
return [201, { 'Content-Type': 'application/json' }, JSON.stringify(guide)]
3829
}
3930

4031
Server.mockPost(apiRoute, requestHandler, 1000)

test/mock-get.test.ts

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
// import ServerClass, { Server, Faker, uid } from 'react-mock'
22
import axios from 'axios'
3-
import ServerClass, {
4-
Server,
5-
Faker,
6-
uid,
7-
IDataGenerator
8-
} from '../src/react-mock'
3+
import ServerClass, { Server, Faker, uid, IDataGenerator, FakerGenerator } from '../src/react-mock'
94

105
describe('Get Request', () => {
116
afterEach(() => {
@@ -23,11 +18,7 @@ describe('Get Request', () => {
2318
it('mocks get request with array response', () => {
2419
const requestHandler = (request, generator): [number, any, string] => {
2520
const todoList = generator.next(10, todoSchema)
26-
return [
27-
200,
28-
{ 'Content-Type': 'application/json' },
29-
JSON.stringify(todoList)
30-
]
21+
return [200, { 'Content-Type': 'application/json' }, JSON.stringify(todoList)]
3122
}
3223

3324
Server.mockGet(apiRoute, requestHandler, 1000)
@@ -46,13 +37,9 @@ describe('Get Request', () => {
4637
})
4738

4839
it('mocks get request with map response', () => {
49-
const requestHandler = (request, generator): [number, any, string] => {
50-
const todoList = generator.next(10, todoSchema, true)
51-
return [
52-
200,
53-
{ 'Content-Type': 'application/json' },
54-
JSON.stringify(todoList)
55-
]
40+
const requestHandler = (request, generator: IDataGenerator): [number, any, string] => {
41+
const todoList = FakerGenerator.next(10, todoSchema, true)
42+
return [200, { 'Content-Type': 'application/json' }, JSON.stringify(todoList)]
5643
}
5744

5845
Server.mockGet(apiRoute, requestHandler, 1000)

0 commit comments

Comments
 (0)