| 'use strict'; |
| |
| var PouchDB = require('../../packages/node_modules/pouchdb-for-coverage'); |
| |
| var express = require('express'); |
| var bodyParser = require('body-parser'); |
| |
| require('chai').should(); |
| |
| var app = express(); |
| app.use(bodyParser.json()); |
| |
| var deleted = false; |
| app.delete('*', function (req, res, next) { |
| if (!deleted) { |
| res.status(500).send({message: 'Oops'}); |
| deleted = true; |
| return; |
| } |
| next(); |
| }); |
| |
| app.use(require('pouchdb-express-router')(PouchDB)); |
| |
| describe('test.deletion_error.js', function () { |
| var server; |
| |
| before(function () { |
| server = app.listen(0); |
| }); |
| |
| after(function () { |
| return server.close(); |
| }); |
| |
| it('Test error during deletion', function () { |
| |
| var url = 'http://127.0.0.1:' + server.address().port + '/remote'; |
| var db = new PouchDB(url); |
| |
| return db.post({foo: 'bar'}).then(function () { |
| }).then(function () { |
| return db.destroy(); |
| }).catch(function (err) { |
| err.status.should.equal(500); |
| }).then(function () { |
| return db.destroy(); |
| }); |
| }); |
| }); |