diff --git a/test/test.ts b/test/test.ts index a0f6744..a06ceef 100644 --- a/test/test.ts +++ b/test/test.ts @@ -4,6 +4,25 @@ import * as smartexpress from '@pushrocks/smartexpress'; import * as typedrequest from '../ts/index'; let testServer: smartexpress.Server; +let testTypedHandler: typedrequest.TypedHandler; + +interface ITestReqRes { + method: 'hi'; + request: { + name: string; + }; + response: { + surname: string; + }; +} + +tap.test('should create a typedHandler', async () => { + testTypedHandler = new typedrequest.TypedHandler('hi', async (reqArg) => { + return { + surname: 'wow' + }; + }); +}); tap.test('should spawn a server to test with', async () => { testServer = new smartexpress.Server({ @@ -14,13 +33,24 @@ tap.test('should spawn a server to test with', async () => { }); tap.test('should define a testHandler', async () => { - + testServer.addRoute('/testroute', new smartexpress.Handler('POST', async (req, res) => { + console.log(req.body); + res.json(await testTypedHandler.addResponse(req.body)); + })); }); tap.test('should start the server', async () => { await testServer.start(); }); +tap.test('should fire a request', async () => { + const typedRequest = new typedrequest.TypedRequest('http://localhost:3000/testroute', 'hi'); + const response = await typedRequest.fire({ + name: 'really' + }); + expect(response.surname).to.equal('wow'); +}); + tap.test('should end the server', async () => { await testServer.stop(); }); diff --git a/ts/typedrequest.classes.typedrequest.ts b/ts/typedrequest.classes.typedrequest.ts index 94a8ba4..0030947 100644 --- a/ts/typedrequest.classes.typedrequest.ts +++ b/ts/typedrequest.classes.typedrequest.ts @@ -14,13 +14,12 @@ export class TypedRequest { - const response = await plugins.smartrequest.request(this.urlEndPoint, { - method: 'POST', - requestBody: JSON.stringify({ + const response = await plugins.smartrequest.postJson(this.urlEndPoint, { + requestBody: { method: this.method, request: fireArg, response: null - }) + } }); return response.body.response; }