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", () => {
|