Skip to content

Commit 5aa76f2

Browse files
Marcellin NshimiyimanaMarcellin Nshimiyimana
Marcellin Nshimiyimana
authored and
Marcellin Nshimiyimana
committed
feat($delete-request): add logic to handle delete request mock
BREAKING CHANGE: delete
1 parent eeee8ca commit 5aa76f2

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

src/react-mock/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Pretender, { ResponseData } from 'pretender'
66

77
import DataGeneratorClass, { IDataGenerator } from './data-generator'
88

9+
import { createDeleteRoute } from './methods/delete'
910
import { createPatchRoute } from './methods/patch'
1011
import { createPutRoute } from './methods/put'
1112

@@ -111,6 +112,18 @@ export default class ServerClass {
111112
createPatchRoute(this.dataGenerator, endPoint, handler, ...others)
112113
)
113114
}
115+
mockDelete(
116+
endPoint: string,
117+
handler: (
118+
req: Object,
119+
generator: IDataGenerator
120+
) => ResponseData | Promise<ResponseData>,
121+
...others: Array<any>
122+
): void {
123+
this.routeMapList.push(
124+
createDeleteRoute(this.dataGenerator, endPoint, handler, ...others)
125+
)
126+
}
114127
}
115128

116129
export const Faker = faker

src/react-mock/methods/delete.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import Pretender, { ResponseData } from 'pretender'
2+
import { IDataGenerator } from '../data-generator'
3+
4+
/**
5+
* @param dg
6+
* @param endPoint
7+
* @param handler
8+
* @param others
9+
*/
10+
export function createDeleteRoute(
11+
dg: IDataGenerator,
12+
endPoint: string,
13+
handler: (
14+
req: Object,
15+
generator: IDataGenerator
16+
) => ResponseData | Promise<ResponseData>,
17+
...others: Array<any>
18+
) {
19+
/**
20+
* routeMap refers to "pretenderjs" based map of routes that can be passed to an instance of pretenderjs
21+
*/
22+
return function putRouteMap(this: Pretender) {
23+
this.delete(
24+
endPoint,
25+
(req: Object) => {
26+
return handler(req, dg)
27+
},
28+
...others
29+
)
30+
}
31+
}
32+
33+
export default createDeleteRoute

0 commit comments

Comments
 (0)