#javascript #jestjs #redux-saga #redux-saga-test-plan
Вопрос:
Тестовый файл: ` const growerId = state.environmentData.environment.selectedGrower.значение
const expectedCreateLocalImagesAction = {
type: 'IMPLEMENT_BLOB_CREATE_LOCAL_IMAGES',
payload: {
entities: [
{
id: temporaryNewPicId,
uri:
'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/',
attribute: {
id: 20127625,
implement: 31276,
key: 'front_axle_to_gps_inches',
lastFetchAt: 1591373772572,
value: '0.39',
blobs: [10101, 20202],
},
},
],
assetId: growerId,
},
}
const expectedSaveImplementAttributeAction = {
type: 'IMPLEMENT_ATTRIBUTE_SAVE_IMPLEMENT_ATTRIBUTE',
payload: {
id: 20127625,
implement: 31276,
key: 'front_axle_to_gps_inches',
lastFetchAt: 1591373772572,
value: '0.39',
blobs: [10101],
},
}
const expectedUpdateBlobAction = {
type: 'IMPLEMENT_BLOB_UPDATE_REQUEST',
payload: {
requestId: 'updateBlob_1',
noSync: false,
},
}
return expectSaga(module.handleSubmitUpdateForm.bind(module), request)
.withState(state)
.select(getSelectedGrowerId)
.put(expectedCreateLocalImagesAction)
.put(expectedSaveImplementAttributeAction)
.put(expectedUpdateBlobAction)
.run()
})`
Получена ошибка » Ожидаемая ——— { ‘@@redux-saga/IO’: истина, комбинатор: ложь, тип: «ПОМЕСТИТЬ», полезная нагрузка: { канал: не определен, действие: { тип: ‘IMPLEMENT_BLOB_CREATE_LOCAL_IMAGES’, полезная нагрузка: { сущности: [Объект], идентификатор актива: 680001 } } } }
Actual:
------
1. { '@@redux-saga/IO': true,
combinator: false,
type: 'PUT',
payload:
{ channel: undefined,
action:
{ type: 'IMPLEMENT_BLOB_CREATE_LOCAL_IMAGES',
payload: { entities: [Object], assetId: 680001 } } } }
2. { '@@redux-saga/IO': true,
combinator: false,
type: 'PUT',
payload:
{ channel: undefined,
action:
{ type: 'IMPLEMENT_ATTRIBUTE_SAVE_IMPLEMENT_ATTRIBUTE',
payload:
{ id: 20127625,
implement: 31276,
key: 'front_axle_to_gps_inches',
lastFetchAt: 1591373772572,
value: '0.39',
blobs: [Object] } } } }
3. { '@@redux-saga/IO': true,
combinator: false,
type: 'PUT',
payload:
{ channel: undefined,
action:
{ type: 'IMPLEMENT_BLOB_UPDATE_REQUEST',
payload: { requestId: 'updateBlob_1', entities: [Object], noSync: false } } } }`
Я поместил три действия в свой тестовый файл jest, так что ожидание тоже должно было быть тремя. Но на самом деле у меня есть только один? Что в этом плохого?
Комментарии:
1. Вам нужно показать код саги.