хуйу нас не матерятся
Я уже фигачил пачку статей про REST сервер на hapi. Но с тех пор прошло много времени. Обновились модули, обновился мой опыт. Вот на основе нового опыта я и собрал новый шаблон, с ещё более переиспользуемым кодом и с обновлёнными модулями.
Проект: https://gitlab.com/hololoev/hapijs_template
Генератор автотестов запускается только на свежеинициализированной базе данных:
rm db -r && npm run dbinit &node server.js
Только после этого запускаем тесты (сервер должен быть запущен!):
npm test
Чтобы тесты работали корректно нужно качественно описать все схемы запросов и ответо, а так же дефолтные данные в ./src/models/*.json.
Если нужно выключить какой-либо роут из тестов, вешаем тег "noTest", например:
module.exports = {
method: 'DELETE',
path: '/api/auth',
options: {
handler: response,
description: 'Destroy current auth token',
tags: [ 'api', 'noTest' ],
auth: 'token',
validate: {
headers: commonSchemes.authHeaders
},
response: { schema: commonSchemes.responseWrapper() }
}
};