Я пытаюсь протестировать простой запрос-ответ API, используя экспресс.Однако запросы должны иметь следующие поля в объекте запроса: user.userName и user.password, это код, который у меня есть до сих пор:
const express = require('express');
const log = require('../../../../logger');
const app = express();
const ClusterNode = require('../cluster-node');
// TODO: don't like these here. Needed to post. Put into global test startup if possible.
// TODO - OMRI: Reaplce this with the global test startup, when created.
const socketio = require('socket.io');
app.io = socketio.listen();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use('/v2/config/aw/', ClusterNode);
app.use(function(req, res, next) {
req.user.userName = 'xxxx';
req.user.password = 'xxxx';
next();
});
describe('API - ClusterNode', () => {
test('API - Get Cluster Nodes #1', () => {
return request(app).get('/v2/config/aw/ClusterNode').then((response) => {
expect(response.statusCode).toBe(200);
expect(response.body.Node.length.toString()).toBe('0');
expect(response.headers['content-type']).toMatch(/^application\/json/);
});
});
});
Я пытался добавить этот блок кода:
app.use(function(req, res, next) {
req.user.userName = 'xxxx';
req.user.password = 'xxxx';
next();
});
однако он не справился с этой задачей.Есть идеи, как это сделать?Заранее спасибо.