summary refs log tree commit diff
path: root/util/tests
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-27 11:11:16 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-27 11:11:16 +0200
commit845e77eed21d5e03994978ddee0ca0c613234b3f (patch)
tree75beee1614c80f1c8acd744aaeb02db68f46b2ac /util/tests
parent:construction: api (diff)
downloadserver-845e77eed21d5e03994978ddee0ca0c613234b3f.tar.xz
:construction: typeorm
Diffstat (limited to 'util/tests')
-rw-r--r--util/tests/User.test.js31
-rw-r--r--util/tests/validate.test.js16
2 files changed, 40 insertions, 7 deletions
diff --git a/util/tests/User.test.js b/util/tests/User.test.js
new file mode 100644
index 00000000..b87c753d
--- /dev/null
+++ b/util/tests/User.test.js
@@ -0,0 +1,31 @@
+const { initDatabase, closeDatabase } = require("../dist/util/Database");
+const { User } = require("../dist/entities/User");
+jest.setTimeout(10000);
+
+beforeAll((done) => {
+	initDatabase().then(() => {
+		new User().validate(); // warm up schema/model
+		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();
+	});
+});
diff --git a/util/tests/validate.test.js b/util/tests/validate.test.js
index c885a167..434422f8 100644
--- a/util/tests/validate.test.js
+++ b/util/tests/validate.test.js
@@ -1,4 +1,4 @@
-const { initDatabase } = require("../dist/util/Database");
+const { initDatabase, closeDatabase } = require("../dist/util/Database");
 const { User } = require("../dist/entities/User");
 jest.setTimeout(10000);
 
@@ -9,13 +9,15 @@ beforeAll((done) => {
 	});
 });
 
+afterAll(() => {
+	closeDatabase();
+});
+
 describe("Validate model class properties", () => {
-	describe("User", () => {
-		test("object instead of string", async () => {
-			expect(() => {
-				new User({ username: {} }).validate();
-			}).toThrow();
-		});
+	test("object instead of string", async () => {
+		expect(() => {
+			new User({}, { id: {} }).validate();
+		}).toThrow();
 	});
 
 	test("validation should be faster than 20ms", () => {