UNPKG

539 BJavaScriptView Raw
1// https://www.bengladwell.com/run-tests-as-db-transactions-with-objection-js/
2const knex = require('./knex')
3const BaseModel = require('../models/base')
4
5let afterDone
6
7// Initiate transaction
8beforeEach(done => {
9 knex
10 .transaction(function (newtrx) {
11 BaseModel.knex(newtrx)
12 done()
13 })
14 .catch(function () {
15 // call afterEach's done
16 afterDone()
17 })
18})
19
20// Rollback transaction
21afterEach(done => {
22 afterDone = done
23 BaseModel.knex().rollback()
24})
25
26afterAll(async () => {
27 await knex.destroy()
28})