From 5ddd16158631a74d073c2868d38d274d82effd97 Mon Sep 17 00:00:00 2001 From: Sergey Date: Fri, 5 Nov 2021 11:56:01 +0300 Subject: [PATCH 1/3] fix: provide empty object when data is not set in request --- .gitignore | 3 ++- lib/oneflow.js | 2 +- test/oneflow.test.js | 27 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1dcc7a8..494444a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ run.sh coverage .idea .vscode -.nyc_output \ No newline at end of file +.nyc_output +.env \ No newline at end of file diff --git a/lib/oneflow.js b/lib/oneflow.js index 8a17dbb..2fd7ae7 100644 --- a/lib/oneflow.js +++ b/lib/oneflow.js @@ -21,7 +21,7 @@ function OneFlowClient(baseUrl, token, secret, options = {}) { const headers = makeHeaders(url, method, options); const axiosRetry = options['axios-retry'] || {}; return client - .request({ method, url, data, headers, 'axios-retry': axiosRetry }) + .request({ method, url, data: data || {}, headers, 'axios-retry': axiosRetry }) .then(res => res.data); } diff --git a/test/oneflow.test.js b/test/oneflow.test.js index fdcb08c..4ed063b 100644 --- a/test/oneflow.test.js +++ b/test/oneflow.test.js @@ -115,6 +115,33 @@ describe('Oneflow', function () { 'content-type', ]); }); + + it('should perform an http request with data=null', async () => { + stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a })); + + const result = await sdk.request('get', '/order', null); + + result.method.should.be.equal('get'); + result.data.should.be.eql({}); + }); + + it('should perform an http request with data=undefined', async () => { + stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a })); + + const result = await sdk.request('get', '/order', undefined); + + result.method.should.be.equal('get'); + result.data.should.be.eql({}); + }); + + it('should perform an http request with data=""', async () => { + stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a })); + + const result = await sdk.request('get', '/order', ''); + + result.method.should.be.equal('get'); + result.data.should.be.eql({}); + }); it('should support service user requests', async () => { stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a })); From f226b370be95902e991519a641795d5f03a97119 Mon Sep 17 00:00:00 2001 From: Sergey Date: Fri, 5 Nov 2021 12:40:46 +0300 Subject: [PATCH 2/3] fix: pr feedback --- lib/oneflow.js | 2 +- test/oneflow.test.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/oneflow.js b/lib/oneflow.js index 2fd7ae7..58ec008 100644 --- a/lib/oneflow.js +++ b/lib/oneflow.js @@ -21,7 +21,7 @@ function OneFlowClient(baseUrl, token, secret, options = {}) { const headers = makeHeaders(url, method, options); const axiosRetry = options['axios-retry'] || {}; return client - .request({ method, url, data: data || {}, headers, 'axios-retry': axiosRetry }) + .request({ method, url, data: data === null ? {} : data, headers, 'axios-retry': axiosRetry }) .then(res => res.data); } diff --git a/test/oneflow.test.js b/test/oneflow.test.js index 4ed063b..ce679c2 100644 --- a/test/oneflow.test.js +++ b/test/oneflow.test.js @@ -131,7 +131,8 @@ describe('Oneflow', function () { const result = await sdk.request('get', '/order', undefined); result.method.should.be.equal('get'); - result.data.should.be.eql({}); + console.log(result.data); + (result.data === undefined).should.equal(true); }); it('should perform an http request with data=""', async () => { @@ -140,7 +141,7 @@ describe('Oneflow', function () { const result = await sdk.request('get', '/order', ''); result.method.should.be.equal('get'); - result.data.should.be.eql({}); + result.data.should.be.equal(''); }); it('should support service user requests', async () => { From 21abdcea27b5597981d9b7ac05f37300025edb77 Mon Sep 17 00:00:00 2001 From: Sergey Date: Fri, 5 Nov 2021 12:43:02 +0300 Subject: [PATCH 3/3] fix: remove console.log --- test/oneflow.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/test/oneflow.test.js b/test/oneflow.test.js index ce679c2..e95bb05 100644 --- a/test/oneflow.test.js +++ b/test/oneflow.test.js @@ -131,7 +131,6 @@ describe('Oneflow', function () { const result = await sdk.request('get', '/order', undefined); result.method.should.be.equal('get'); - console.log(result.data); (result.data === undefined).should.equal(true); });