An open API service indexing awesome lists of open source software.

https://github.com/smartlyio/objection-transactional-tests

Wrap Jest or Mocha tests in Objection transactions
https://github.com/smartlyio/objection-transactional-tests

objection-orm objectionjs

Last synced: about 1 year ago
JSON representation

Wrap Jest or Mocha tests in Objection transactions

Awesome Lists containing this project

README

          

# Objection transactional tests

Run tests in [Jest](https://jestjs.io) or [Mocha](https://mochajs.org) in [Objection.js](http://vincit.github.io/objection.js/) transactions. This starts a new transaction at the beginning of each tests and does a rollback at the end of it, reverting the database to the state it was in before the test.

## Usage

```javascript

import { transactionPerTest } from "objection-transactional-tests";

describe("examples", () => {
transactionPerTest();
it("database interactions", () => {
// do something that touches database
});
});

```

Note that any database changes done in `beforeAll` won't be cleaned up.

The setup can be added to test setup script to apply it automatically for all
tests. This will ensure that no test pollute the test database, but also adds
overhead to tests that do not use the database.