Skip to content

Commit 5ddd161

Browse files
committed
fix: provide empty object when data is not set in request
1 parent bf828c2 commit 5ddd161

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ run.sh
44
coverage
55
.idea
66
.vscode
7-
.nyc_output
7+
.nyc_output
8+
.env

lib/oneflow.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ function OneFlowClient(baseUrl, token, secret, options = {}) {
2121
const headers = makeHeaders(url, method, options);
2222
const axiosRetry = options['axios-retry'] || {};
2323
return client
24-
.request({ method, url, data, headers, 'axios-retry': axiosRetry })
24+
.request({ method, url, data: data || {}, headers, 'axios-retry': axiosRetry })
2525
.then(res => res.data);
2626
}
2727

test/oneflow.test.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,33 @@ describe('Oneflow', function () {
115115
'content-type',
116116
]);
117117
});
118+
119+
it('should perform an http request with data=null', async () => {
120+
stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a }));
121+
122+
const result = await sdk.request('get', '/order', null);
123+
124+
result.method.should.be.equal('get');
125+
result.data.should.be.eql({});
126+
});
127+
128+
it('should perform an http request with data=undefined', async () => {
129+
stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a }));
130+
131+
const result = await sdk.request('get', '/order', undefined);
132+
133+
result.method.should.be.equal('get');
134+
result.data.should.be.eql({});
135+
});
136+
137+
it('should perform an http request with data=""', async () => {
138+
stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a }));
139+
140+
const result = await sdk.request('get', '/order', '');
141+
142+
result.method.should.be.equal('get');
143+
result.data.should.be.eql({});
144+
});
118145

119146
it('should support service user requests', async () => {
120147
stubs.axiosRequest = sinon.stub(sdk.client, 'request').callsFake(a => Promise.resolve({ data: a }));

0 commit comments

Comments
 (0)