RethinkDB - Thinky Testing - 06 Jan 2016
If you’re using thinky alongside mocha, then you’ll likely want to reset the database between each test. Here’s a quick guide for performing the reset.
The first thing you’ll want to do is a create a test/helper.js
file.
const config = require('../config')
const thinky = require('../util/thinky')
const _ = require('lodash')
afterEach( async function (done) {
const tables = await thinky.r.db(config.thinky.db).tableList()
_.each(tables, async (table) => {
await thinky.r.table(table).delete()
})
done()
})
Depending on your application setup, you’ll likely need to tweak the config
lines. config.thinky.db
will need to be the name of your test database, such
as your_app_test
.
You can then include this helper in your tests to include the reset functionality.
require('../helper')
describe('User Model', function () {
})
You can add additional setup to your helper.js
file that you would like to
include in all your specs.