J'ai une configuration api simulée avec nœud/expressNock, localhost, port et Redux observables
http://localhost:8080/api/lyric/
J'utilise Redux observable pour aller chercher le JSON:
const fetchLyricEpic = action$ =>
action$.ofType(FETCH_LYRIC)
.mergeMap(action =>
ajax.getJSON('/api/lyric')
.map(response => fetchLyricSuccess(response))
.catch(error => Observable.of(fetchLyricFail(error)))
)
Le problème est, quand je teste, je reçois une erreur de api au lieu de 200 à l'aide nock
:
beforeEach(() => {
nock.disableNetConnect()
nock.enableNetConnect('127.0.0.1:3000/')
})
afterEach(() => {
nock.cleanAll()
nock.enableNetConnect()
epicMiddleware.replaceEpic(rootEpic)
})
test('it creates FETCH_SUCCESS when fetching the lyric has been done',() => {
const payload = {
status: 200,
response: {
'lyric': "Lyric"
}
}
nock('127.0.0.1:3000/')
.get('/api/lyric')
.reply(200, payload, {'Content-Type': 'application/json'})
J'essaie de suivre ce que j'ai lu dans les docs nock et aussi dans la liste des problèmes, cependant, mon appel apk nock continue d'échouer.
Expected value to equal:
[{"type": "FETCH_LYRIC"}, {"payload": {"lyric": "Lyric"}, "type": "FETCH_LYRIC_SUCCESS"}]
Received:
[{"type": "FETCH_LYRIC"}, {"payload": {}, "type": "FETCH_LYRIC_ERROR"}]
je recevrais FETCH_LYRIC_SUCCESS
au lieu que je vois:
[ { type: 'FETCH_LYRIC' },
{ type: 'FETCH_LYRIC_ERROR',
payload:
SyntaxError
at XMLHttpRequest.open (<user>/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:486:15)
at XMLHttpRequest.tryCatcher (<user>/node_modules/rxjs/util/tryCatch.js:6:31)
at AjaxSubscriber.Object.<anonymous>.AjaxSubscriber.send (<user>/node_modules/rxjs/observable/dom/AjaxObservable.js:208:56)
at new AjaxSubscriber (<user>/node_modules/rxjs/observable/dom/AjaxObservable.js:180:14)
at AjaxObservable.Object.<anonymous>.AjaxObservable._subscribe (<user>/node_modules/rxjs/observable/dom/AjaxObservable.js:115:16)
at AjaxObservable.Object.<anonymous>.Observable._trySubscribe (<user>/node_modules/rxjs/Observable.js:57:25)
at AjaxObservable.Object.<anonymous>.Observable.subscribe (<user>/node_modules/rxjs/Observable.js:45:27)
at MapOperator.Object.<anonymous>.MapOperator.call (<user>/node_modules/rxjs/operator/map.js:54:23)
at Observable.Object.<anonymous>.Observable.subscribe (<user>/node_modules/rxjs/Observable.js:42:22)
at MapOperator.Object.<anonymous>.MapOperator.call (<user>/node_modules/rxjs/operator/map.js:54:23) } ]
Quelle est l'erreur? – jayphelps
@jayphelps mis à jour ci-dessus ^^ ... – redconservatory