summary refs log tree commit diff
path: root/util/tests
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-01 10:47:00 +0200
committerGitHub <noreply@github.com>2021-09-01 10:47:00 +0200
commitee35e42153d1c57f5964225cccda1abacdc43f48 (patch)
tree5b5b159ae4ec956415a88679ed774b524523e0d9 /util/tests
parentMerge pull request #287 from EMREOYUN/patch-1 (diff)
parentMerge pull request #299 from AlTech98/typeorm (diff)
downloadserver-ee35e42153d1c57f5964225cccda1abacdc43f48.tar.xz
Merge pull request #300 from fosscord/typeorm
Diffstat (limited to 'util/tests')
-rw-r--r--util/tests/User.test.js43
-rw-r--r--util/tests/setupJest.js23
2 files changed, 66 insertions, 0 deletions
diff --git a/util/tests/User.test.js b/util/tests/User.test.js
new file mode 100644

index 00000000..c0852ebc --- /dev/null +++ b/util/tests/User.test.js
@@ -0,0 +1,43 @@ +const { initDatabase, closeDatabase } = require("../dist/util/Database"); +const { User } = require("../dist/entities/User"); +jest.setTimeout(20000); + +beforeAll((done) => { + initDatabase().then(() => { + done(); + }); +}); + +afterAll(() => { + closeDatabase(); +}); + +describe("User", () => { + test("valid discriminator: 1", async () => { + new User({ discriminator: "1" }).validate(); + }); + test("invalid discriminator: test", async () => { + expect(() => { + new User({ discriminator: "test" }).validate(); + }).toThrow(); + }); + + test("invalid discriminator: 0", async () => { + expect(() => { + new User({ discriminator: "0" }).validate(); + }).toThrow(); + }); + + test("add guild", async () => { + try { + await new User({ guilds: [], discriminator: "1" }, { id: "0" }).save(); + const user = await User.find("0"); + + user.guilds.push(new Guild({ name: "test" })); + + user.save(); + } catch (error) { + console.error(error); + } + }); +}); diff --git a/util/tests/setupJest.js b/util/tests/setupJest.js new file mode 100644
index 00000000..35a3cb52 --- /dev/null +++ b/util/tests/setupJest.js
@@ -0,0 +1,23 @@ +const { performance } = require("perf_hooks"); +const fs = require("fs"); +const path = require("path"); + +// fs.unlinkSync(path.join(__dirname, "..", "database.db")); + +global.expect.extend({ + toBeFasterThan: async (func, target) => { + const start = performance.now(); + var error; + try { + await func(); + } catch (e) { + error = e.toString(); + } + const time = performance.now() - start; + + return { + pass: time < target && !error, + message: () => error || `${func.name} took ${time}ms of maximum ${target}`, + }; + }, +});