https://github.com/pyramation/jsqltest
https://github.com/pyramation/jsqltest
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/pyramation/jsqltest
- Owner: pyramation
- License: mit
- Created: 2020-09-15T01:05:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-15T04:01:14.000Z (over 5 years ago)
- Last Synced: 2025-03-30T21:33:02.027Z (about 1 year ago)
- Language: JavaScript
- Size: 171 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jsqltest
Meant for testing within `sqitch` or `launchql` projects
Example:
```js
import cases from 'jest-in-case';
import { TestDatabase } from 'jsqltest';
import { resolve as resolveSql } from '@launchql/db-utils';
jest.setTimeout(30000);
let teardown, db, conn;
const objs = {};
beforeAll(async () => {
const sql = await resolveSql(__dirname + '/../', 'deploy');
conn = new TestDatabase({ database: 'my-first-test' });
await conn.createdb();
await conn.installExt(conn.config, [
'plpgsql', 'uuid-ossp', 'pgcrypto', 'citext', 'hstore'
])
await conn.seed(sql);
await conn.connect();
});
beforeEach(async () => {
await conn.begin();
});
afterEach(async () => {
await conn.rollback();
});
afterAll(async () => {
await conn.teardown();
});
cases(
'jsqltest(header)',
async (opts) => {
const post = await conn.db.insertOne('app_public.my_table', {
header: opts.header,
body: 'here is my post'
});
expect(post).toBeTruthy();
},
[
{ header: 'title1' },
{ header: 'title2' },
{ header: 'title3' },
{ header: 'title4' },
{ header: 'title5' },
{ header: 'title6' },
{ header: 'title7' },
{ header: 'title8' },
{ header: 'title9' },
{ header: 'title10' },
{ header: 'title11' },
{ header: 'title12' },
{ header: 'title13' },
{ header: 'title14' },
{ header: 'title15' },
{ header: 'title16' }
]
);
```