Chai POST отправить двоичный файл - PullRequest
0 голосов
/ 03 мая 2018

Мне нужно проверить загрузку файла, не используя данные из нескольких частей.

it('Create node', () => {
    return chai.request(server)
        .post('/api/sensornodes')
        .set('Content-Type', 'application/json')
        .send(fs.readFileSync('test/manifest/sensor_nodes.json'))
        .then((res) => {
            expect(res.status).to.eql(204);
        });
});

Этот тест вызывает нижнюю конечную точку, где я использую body-parser для разбора запроса

public create(req: Request, res: Response, next: NextFunction) {
    console.log("req body", req.body)
}

Но когда я выполняю тест, req.body представляет собой подобный объект, а не то, что я ожидаю

{ 
    type: 'Buffer',
    data:
       [ 123,
         10,
         32,
         32,
         32,
         ...
       ]
}

Когда я вызываю эту конечную точку через Почтальон, все нормально, а в req.body у меня есть содержимое .json

Где я не прав?

1 Ответ

0 голосов
/ 03 мая 2018

Мне не хватало типа кодирования

Я исправил это, поставив

.send(fs.readFileSync('test/manifest/sensor_nodes.json', 'utf8'))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...