test/acceptance/mvc.js JAVASCRIPT 133 lines View on github.com → Search inside
12var request = require('supertest')3  , app = require('../../examples/mvc');45describe('mvc', function(){6  describe('GET /', function(){7    it('should redirect to /users', function(done){8      request(app)9      .get('/')10      .expect('Location', '/users')11      .expect(302, done)12    })13  })1415  describe('GET /pet/0', function(){16    it('should get pet', function(done){17      request(app)18      .get('/pet/0')19      .expect(200, /Tobi/, done)20    })21  })2223  describe('GET /pet/0/edit', function(){24    it('should get pet edit page', function(done){25      request(app)26      .get('/pet/0/edit')27      .expect(/<form/)28      .expect(200, /Tobi/, done)29    })30  })3132  describe('PUT /pet/2', function(){33    it('should update the pet', function(done){34      request(app)35      .put('/pet/3')36      .set('Content-Type', 'application/x-www-form-urlencoded')37      .send({ pet: { name: 'Boots' } })38      .expect(302, function (err, res) {39        if (err) return done(err);40        request(app)41        .get('/pet/3/edit')42        .expect(200, /Boots/, done)43      })44    })45  })4647  describe('GET /users', function(){48    it('should display a list of users', function(done){49      request(app)50      .get('/users')51      .expect(/<h1>Users<\/h1>/)52      .expect(/>TJ</)53      .expect(/>Guillermo</)54      .expect(/>Nathan</)55      .expect(200, done)56    })57  })5859  describe('GET /user/:id', function(){60    describe('when present', function(){61      it('should display the user', function(done){62        request(app)63        .get('/user/0')64        .expect(200, /<h1>TJ <a href="\/user\/0\/edit">edit/, done)65      })6667      it('should display the users pets', function(done){68        request(app)69        .get('/user/0')70        .expect(/\/pet\/0">Tobi/)71        .expect(/\/pet\/1">Loki/)72        .expect(/\/pet\/2">Jane/)73        .expect(200, done)74      })75    })7677    describe('when not present', function(){78      it('should 404', function(done){79        request(app)80        .get('/user/123')81        .expect(404, done);82      })83    })84  })8586  describe('GET /user/:id/edit', function(){87    it('should display the edit form', function(done){88      request(app)89      .get('/user/1/edit')90      .expect(/Guillermo/)91      .expect(200, /<form/, done)92    })93  })9495  describe('PUT /user/:id', function(){96    it('should 500 on error', function(done){97      request(app)98      .put('/user/1')99      .send({})100      .expect(500, done)101    })102103    it('should update the user', function(done){104      request(app)105      .put('/user/1')106      .set('Content-Type', 'application/x-www-form-urlencoded')107      .send({ user: { name: 'Tobo' }})108      .expect(302, function (err, res) {109        if (err) return done(err);110        request(app)111        .get('/user/1/edit')112        .expect(200, /Tobo/, done)113      })114    })115  })116117  describe('POST /user/:id/pet', function(){118    it('should create a pet for user', function(done){119      request(app)120      .post('/user/2/pet')121      .set('Content-Type', 'application/x-www-form-urlencoded')122      .send({ pet: { name: 'Snickers' }})123      .expect('Location', '/user/2')124      .expect(302, function(err, res){125        if (err) return done(err)126        request(app)127        .get('/user/2')128        .expect(200, /Snickers/, done)129      })130    })131  })132})

Code quality findings 1

Use let or const to avoid scope issues and hoisting
info correctness var-declaration
var request = require('supertest')

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.