forked from cadence/out-of-your-element
Add database migrations
This commit is contained in:
parent
7a218f1254
commit
1d99b91ef7
11 changed files with 263 additions and 33 deletions
53
test/test.js
53
test/test.js
|
@ -1,8 +1,12 @@
|
|||
// @ts-check
|
||||
|
||||
const fs = require("fs")
|
||||
const {join} = require("path")
|
||||
const sqlite = require("better-sqlite3")
|
||||
const migrate = require("../db/migrate")
|
||||
const HeatSync = require("heatsync")
|
||||
const {test} = require("supertape")
|
||||
const data = require("./data")
|
||||
|
||||
const config = require("../config")
|
||||
const passthrough = require("../passthrough")
|
||||
|
@ -11,12 +15,15 @@ const db = new sqlite(":memory:")
|
|||
const reg = require("../matrix/read-registration")
|
||||
reg.ooye.server_origin = "https://matrix.cadence.moe" // so that tests will pass even when hard-coded
|
||||
|
||||
db.exec(fs.readFileSync("db/ooye-schema.sql", "utf8"))
|
||||
db.exec(fs.readFileSync("db/ooye-test-data.sql", "utf8"))
|
||||
|
||||
const sync = new HeatSync({watchFS: false})
|
||||
|
||||
Object.assign(passthrough, { config, sync, db })
|
||||
const discord = {
|
||||
guilds: new Map([
|
||||
[data.guild.general.id, data.guild.general]
|
||||
])
|
||||
}
|
||||
|
||||
Object.assign(passthrough, { discord, config, sync, db })
|
||||
|
||||
const orm = sync.require("../db/orm")
|
||||
passthrough.from = orm.from
|
||||
|
@ -25,17 +32,27 @@ passthrough.select = orm.select
|
|||
const file = sync.require("../matrix/file")
|
||||
file._actuallyUploadDiscordFileToMxc = function(url, res) { throw new Error(`Not allowed to upload files during testing.\nURL: ${url}`) }
|
||||
|
||||
require("../db/orm.test")
|
||||
require("../matrix/kstate.test")
|
||||
require("../matrix/api.test")
|
||||
require("../matrix/read-registration.test")
|
||||
require("../matrix/txnid.test")
|
||||
require("../d2m/converters/message-to-event.test")
|
||||
require("../d2m/converters/message-to-event.embeds.test")
|
||||
require("../d2m/converters/edit-to-changes.test")
|
||||
require("../d2m/converters/thread-to-announcement.test")
|
||||
require("../d2m/actions/create-room.test")
|
||||
require("../d2m/converters/user-to-mxid.test")
|
||||
require("../d2m/actions/register-user.test")
|
||||
require("../m2d/converters/event-to-message.test")
|
||||
require("../m2d/converters/utils.test")
|
||||
;(async () => {
|
||||
const p = migrate.migrate(db)
|
||||
test("migrate: migration works", async t => {
|
||||
await p
|
||||
t.pass("it did not throw an error")
|
||||
})
|
||||
await p
|
||||
db.exec(fs.readFileSync(join(__dirname, "ooye-test-data.sql"), "utf8"))
|
||||
require("../db/orm.test")
|
||||
require("../matrix/kstate.test")
|
||||
require("../matrix/api.test")
|
||||
require("../matrix/file.test")
|
||||
require("../matrix/read-registration.test")
|
||||
require("../matrix/txnid.test")
|
||||
require("../d2m/converters/message-to-event.test")
|
||||
require("../d2m/converters/message-to-event.embeds.test")
|
||||
require("../d2m/converters/edit-to-changes.test")
|
||||
require("../d2m/converters/thread-to-announcement.test")
|
||||
require("../d2m/actions/create-room.test")
|
||||
require("../d2m/converters/user-to-mxid.test")
|
||||
require("../d2m/actions/register-user.test")
|
||||
require("../m2d/converters/event-to-message.test")
|
||||
require("../m2d/converters/utils.test")
|
||||
})()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue