Я написал следующий тестовый пример, используя шутку для тестирования REST API:
test('Should return module for given module name' , async () =>{
const response = await request(app)
.get('/modules')
.set('Authorization', 'Bearer ' +User1.tokens[0].token)
.send('modulename','Shark')
.expect(200)
expect(response.body.name[0]).toBe('Shark')
Соответствующий node js маршрут
var modulename = req.query.modulename;
console.log(modulename)
const modules = await LuaModule.findByName(modulename)
res.send(modules)
}
.expect (200) завершится успешно, однако ожидайте ( response.body.name) .toBe ('Shark') завершается ошибкой, хотя API возвращает JSON ответ с полем 'name' со значением 'Shark'. Jest выдает следующую ошибку:
Ожидается: Shark Получено: undefined
Обработчик маршрута на стороне сервера:
router.get('/modules', auth, async(req, res) => {
var modulename = req.query.modulename;
console.log(modulename);
const modules = await LuaModule.findByName(modulename);
res.send(modules);
}
Любые предложения по этому поводу будут полезны.