2016-06-27 2 views
1

Рассмотрим следующий код:Установка печенья по запросу с Chai

it('Test logout', function (done) { 
    async.each(config.www, function (url, callback) { 
     var healthCheck = url + '/' 
     chai.request(url).get('/') 
      .then(function (res) { 
       expect(res, healthCheck).to.have.status(200); 
       expect(res.text.indexOf(url + '/logout?type=user">Log out</a>'), 'Logout is incorrect').to.be.greaterThan(0); 
       callback(); 
      }) 
      .catch(function (err) { 
       callback(err); 
      }) 
    }, done); 
}); 

Проблема заключается в том, что мне нужно установить куки, чтобы обойти заставку-страницы. Любые идеи о том, как я могу это достичь?

+0

делает эту помощь? http://stackoverflow.com/questions/6456429/is-it-possible-to-mock-document-cookie-in-javascript – bfmags

+0

не совсем уверен, как добавить его в запрос. – Homewrecker

+0

Привет, не пробовал, но я предполагаю, что вам нужно создать файл cookie перед запросом как часть настройки для теста? – bfmags

ответ

4

Это должно работать:

chai.request(url) 
    .get('/') 
    .set('Cookie', 'cookieName=cookieValue;otherName=otherValue') 
    .then(...) 

Cookies отправляется на сервер в качестве значения заголовков на ключе «Cookie», так что вы просто установить их вручную.

Это работает для меня с мокко и Chai-клиент, и я был в состоянии Получать значения куков в моем koajs v2 приложении