Я пытаюсь проверить наличие некоторых свойств ответа API, которые мне нужны во всех тестах (свойство status
и data
).
Вот общий тест, который устанавливает требуемые свойства в методе supertest expect()
:
it('should create a widget', done => {
let status = 200;
request(test_url)
.post('/api/widgets')
.set('Authorization', `Bearer ${token}`)
.send({
sku: my_widget_data.sku,
name: my_widget_data.name,
description: ''
})
.expect(res => {
assert(
Object.keys(res.body).includes('status'),
'`status` is a required field'
);
assert(
Object.keys(res.body).includes('data'),
'`data` is a required field'
);
assert.strictEqual(res.body.status, status);
assert.strictEqual(res.status, status);
})
.end((err, res) => {
if (err) return done(err);
done();
});
});
Такое поведение expect()
будет распространено почти во всех моих тестах.
Как я могу извлечь ожидаемое () поведение, чтобы высушить мои тесты, все еще передавая произвольные номера статуса?