Now that we're done with the user registration and the session initiation, we are ready to test the core of our app, which is to manage to-do items. We will start by segregating that part of the application tests into a file of their own at test/todos.js
, which may start with the following boilerplate:
var assert = require('assert'), Browser = require('zombie'), app = require('../app'), couchdb = require('../lib/couchdb'), dbName = 'todos', db = couchdb.use(dbName), fixtures = require('./fixtures'), login = require('./login'); describe('Todos', function() { before(function(done) { app.start(3000, done); }); after(function(done) { app.server.close(done); }); beforeEach(function(done) { db.get(fixtures.user.email, function(err, doc) { if (err && err.status_code === 404) return done(); if (err) throw err; db.destroy(doc._id, doc._rev, done); }); }); });
Here we have...