Skip to content

Commit

Permalink
fix(provider-http): Use resolveArg instead of getters in convertObjec…
Browse files Browse the repository at this point in the history
…tWithTemplates (#594)
  • Loading branch information
FWeinb authored and Guria committed Jan 11, 2017
1 parent b76ca32 commit c95b6f3
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 7 deletions.
35 changes: 35 additions & 0 deletions packages/cerebral-provider-http/src/http.test.js
Expand Up @@ -223,4 +223,39 @@ describe('Http Provider', () => {
itemId: 1
})
})
it('should allow factories to accept tags in input data', (done) => {
const mockResponse = (req, res) => {
assert.equal(req.body(), JSON.stringify({data: 1}))
return res
.status(200)
.header('Content-Type', 'application/json')
}

mock.post('/test', mockResponse)
mock.put('/test', mockResponse)
mock.patch('/test', mockResponse)

const controller = Controller({
providers: [HttpProvider()],
signals: {
test: [
httpPost('/test', { data: input`data` }), {
success: []
},
httpPut('/test', { data: input`data` }), {
success: []
},
httpPatch('/test', { data: input`data` }), {
success: []
},
() => {
done()
}
]
}
})
controller.getSignal('test')({
data: 1
})
})
})
11 changes: 4 additions & 7 deletions packages/cerebral-provider-http/src/utils.js
@@ -1,5 +1,3 @@
import {Tag} from 'cerebral/tags'

export function createResponse (options, resolve, reject) {
return (event) => {
switch (event.type) {
Expand Down Expand Up @@ -55,14 +53,13 @@ export function urlEncode (obj, prefix) {
return str.join('&')
}

export function convertObjectWithTemplates (obj, getters) {
if (obj instanceof Tag) {
return obj.getValue(getters)
export function convertObjectWithTemplates (obj, resolveArg) {
if (resolveArg.isTag(obj)) {
return resolveArg.value(obj)
}

return Object.keys(obj).reduce((convertedObject, key) => {
convertedObject[key] = obj[key] instanceof Tag ? obj[key].getValue(getters) : obj[key]

convertedObject[key] = resolveArg.value(obj[key])
return convertedObject
}, {})
}
Expand Down

0 comments on commit c95b6f3

Please sign in to comment.