2017-01-04 10 views
1

Ниже следующий формат тела мне нужно отправить в запросе:Node: Mocha TDD отправки массива в теле

[{ 
    "user_id": "861", 
    "username": "userA", 
    "friend_id": "1270" 
}, 
{ 
    "user_id": "861", 
    "username": "userB", 
    "friend_id": "1270" 
}] 

я создал следующий тест:

describe('POST /friends/add',() => { 
    it('should return an array of Friend Objects ', (done) => { 
     request(app) 
      .post('/friend/add') 
      .set('auth', token) 
      .send([ 
       { 
        "user_id": authUserId, 
        "username": filteredUsers[0].username, 
        "friend_id": filteredUsers[0].id 
       }, { 
        "user_id": authUserId, 
        "username": filteredUsers[2].username, 
        "friend_id": filteredUsers[2].id 
       }, { 
        "user_id": authUserId, 
        "username": filteredUsers[3].username, 
        "friend_id": filteredUsers[3].id 
       } 
      ]) 
      .expect(200) 
      .expect((res) => { 
       expect(res.body.email).toBe(email) 
      }) 
      .end((err, res) => { 
       if (err) { 
        return done(err) 
       } 
       return done() 
      }) 
    }) 
}) 

Вопрос: это .send([{ }]) является создавая параметр body в указанном выше формате? массив объектов?

+0

Это зависит от реализации метода 'send' объекта' запрос'. –

ответ

1

API, который вы используете для тестовых запросов, выглядит как SuperTest, который под капотом использует SuperAgent. Here is SuperAgent documentation for send.

Итак, да, он будет использовать ваш массив, преобразовать его в JSON и отправить его в тело на тестируемую конечную точку.