Tag: supertest

如何用passport.jslogin用户testingsail.js控制器

我尝试unit testing我的sail.js控制器,要求用户login。我目前的testing是: var request = require('supertest'), // I try to use 'superagent', this changes nothing user = request.agent; describe('SomeController', function() { // login user first of all before(function(done) { user(sails.hooks.http.app) .post('/user/login') .send({username: 'hellocat', password: '123456789'}) // request works well by itself, // it does not return error and return normal response. .end(function (err, res) { […]

两个文件使用超级摩擦引起EADDRINUSE摩卡

我使用supertest来unit testing我的服务器configuration和路由处理程序。 服务器configurationtesting在test.server.js ,路由处理testing在test.routes.handlers.js 。 当我使用mocha .运行所有的testing文件mocha . ,我得到EADDRINUSE 。 当我单独运行每个文件时,一切都按预期工作。 这两个文件定义并要求supertest, request = require('supertest')和express服务器文件app = require('../server.js') 。 在server.js ,服务器是这样启动的: http.createServer(app).listen(app.get('port'), config.hostName, function () { console.log('Express server listening on port ' + app.get('port')); }); 我的实现有什么问题吗? 运行testing时如何避免EADDRINUSE错误?

数组无意中被转换为超级对象

数组波纹pipe(query.conditions)以某种方式转换为对象,任何想法为什么以及如何防止它? 请求: supertest(options.url) .get('/api/action') .expect(200) .query({ conditions: [ { 'user' : user._id }, { 'type' : 14 }, { 'what' : 4 }, ] }) 服务器得到什么: { "conditions": { "user": "5592cc851f3febd016dae920", "type": "14", "what": "4" } }

如何使用mocha和supertesttesting头部参数的快速restapi?

我必须testing我的restapi。 某些路由在用户身份validation令牌的http请求标头中需要一个值。 我已经在纯JavaScript代码中分离了我的有趣业务逻辑,但是我找不到在http请求头中testing需要令牌的路由的方法。 欢迎任何其他摩卡和/或超级食品的替代品。

testing风帆控制器

我试图testing我的帆控制器。 但是当我在我的UserController.test.js中使用这一行代码,它抛出一个错误不能调用undefined var app = sails.hooks.http.app 在bootstrap.test.js中,我已经声明了这样的风帆 var sails = require('sails') before(function(done){ Sails.lift({},function(err,sails){ done(err, sails); }) }) PS:我已经检查,sails.hooks工作正常,只有在调用http方法它给我这个错误。 我正在关注这个链接进行testing。 帆testing

passportjs,摩卡,超级ECONNREFUSED

我正在尝试使用摩卡,超级terminal和护照进行身份validation,但是我收到拒绝连接的错误消息。 我认为这与我开始我的应用程序的方式… var testUser = { "email": "test@test.com", "password": "test" }; var app = require('../../server'); var request = require('superagent'); var user = request.agent(app); describe('authentication api ', function() { it('should login a user', function(done) { user.post('/login') .send(testUser) .end(function(err, res) { if(err) throw err; done(); }); }); }); 这个用户确实存在于我的mongo数据库中。 在我的服务器文件,这是更高的两个层次: module.exports = app.listen(port, function() { console.log('app listening […]

在超级请求中设置ip

超supertest,我可以做一个resquest来testing我的node.js应用程序 var request = require('supertest'); var api = require('../server').app; … it('json response', function(done){ request(api) .get('/api') .set('Accept', 'application/json') .expect('Content-Type', /json/) .end(function(err, res){ done(); }); }); 我如何设置特定的IP来做testing请求? it('ip access denied', function(done){ request(api) .get('/api') .set('Accept', 'application/json') .expect('Content-Type', /json/) // set specific ip .end(function(err, res){ res.body.message.should.eql('Access denied'); done(); }); });

如何嘲笑后端的第三方API调用

我正在用摩卡和超级testing我的应用程序,所以我的testing总是像 var request = require('supertest'), app = require('./bootstrap.js'); describe('…', function() { it('…', function() { request(app) .get('/some/url') // … }); }); 在监听端口之前,bootstrap.js是我真正的应用程序 所有的作品都很完美,但是最近我不得不添加对第三方API的调用,而且testing速度很慢 所以当我这样做,例如testing需要5秒钟 request(app) .get('/my/endpoint/that/makes/call/others') // … 如何在testing过程中做出虚假的电话,但在运行我的应用程序时是否真实?

Node.js / Mocha / Supertest REST api – 一个del()停止工作后,我添加了第二套房

所以我有一个模型,我试图testing。 它具有自定义终结点以及标准REST终结点。 我build立了一个套件来testing标准操作。 首先,我张贴了,然后我插入(一个没有身份证…基本上是一个职位),然后我得到了。 最后,我删除了我发布时创build的条目,并且在我自己之后进行清理,以便删除我已插入的点。 这工作,这是很好的。 然后,在同一个文件中,我添加了另一个套件,这个套件testing我的自定义端点。 现在我的钩子应该删除插入点失败。 这不好。 我尝试在新的描述语句中包装我的testing删除,但它再次没有工作。 最后,我完全抛弃了这个钩子,只是发了两个.del的电话,但它仍然不起作用。 我在我的智慧结束。 请让我知道,如果你能弄清楚为什么这不起作用,以及如何使其工作。 先谢谢你! 这是我的代码: var request = require('supertest'); var app = require('../server'); var chai = require('chai'); var chance = require('chance').Chance(); var assert= require('assert'); function json(verb, url) { return request(app)[verb](url) .set('Content-Type', 'application/json') .set('Accept', 'application/json') .expect('Content-Type', /json/); } describe('Testing standard REST endpoints-(CREATE, GET,PUT, DELETE)', function() { […]

Sails.js和Mocha:使用supertest:path问题,当控制器在像api \ controllers这样的coustom文件夹被移动到api \ controllers \ admin

而我正在做testing代码,如果我把控制器在默认位置“API \控制器\”。 它运行完美没有错误,但是当我将其更改为'api \ controllers \ admin \'。 它给错误。 ==>当控制器在默认位置“API \控制器\” 我的代码是在config / routes.js 'post /state/create': 'StateController.create', 和testing代码是 var request = require('supertest'); describe('StateController', function() { describe('#create()', function() { it('State already in table /create', function (done) { request(sails.hooks.http.app) .post('/state/create/') //Path and method .send({ name: 'gujarat', country_id: '55d452f20424cda40df0f3de' }) .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(800) .end(function(err, res){ if […]