1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-23 02:42:28 +01:00

util unit tests

This commit is contained in:
Flam3rboy 2021-08-24 16:35:39 +02:00
parent b57f8b33d4
commit 01ead4f734
2 changed files with 36 additions and 2 deletions

View File

@ -5,10 +5,11 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"test": "jest",
"start": "npm run build && node dist/",
"test": "npm run build && jest",
"postinstall": "npm run build",
"build": "npx tsc -b .",
"generate:schema": "npx typescript-json-schema tsconfig.json '*' -o src/models/schema.json"
"generate:schema": "npx typescript-json-schema tsconfig.json '*' -o src/entities/schema.json"
},
"repository": {
"type": "git",
@ -41,6 +42,7 @@
"class-validator": "^0.13.1",
"dot-prop": "^6.0.1",
"env-paths": "^2.2.1",
"jest-test-performance": "^1.0.1",
"jsonwebtoken": "^8.5.1",
"missing-native-js-functions": "^1.2.10",
"node-fetch": "^2.6.1",
@ -50,5 +52,10 @@
"typeorm": "^0.2.37",
"typescript": "^4.3.5",
"typescript-json-schema": "github:fosscord/typescript-json-schema"
},
"jest": {
"setupFilesAfterEnv": [
"jest-test-performance"
]
}
}

View File

@ -0,0 +1,27 @@
const { initDatabase } = require("../dist/util/Database");
const { User } = require("../dist/entities/User");
beforeAll(async () => {
await initDatabase();
new User().validate(); // initalize schema validator
});
describe("Validate model class properties", () => {
describe("validation should be faster than 20ms", () => {
expect(() => new User().validate()).toBeFasterThan(20);
});
describe("User", () => {
test("object instead of string", () => {
expect(() => {
new User({ username: {} }).validate();
}).toThrow();
});
});
test("should not set opts", () => {
const user = new User({ opts: { id: 0 } });
expect(user.opts.id).not.toBe(0);
});
});