From 2e670c8935ddf6ad093afc23d2d427c632070238 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Thu, 26 Aug 2021 02:07:16 +0200 Subject: [PATCH] :bug: fix unit tests --- util/package-lock.json | Bin 520083 -> 505709 bytes util/package.json | 3 +-- util/src/entities/BaseClass.ts | 6 ++++-- util/tests/setupJest.js | 19 +++++++++++++++++++ util/tests/validate.test.js | 25 +++++++++++++------------ 5 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 util/tests/setupJest.js diff --git a/util/package-lock.json b/util/package-lock.json index c7510fa8058ce16df8ddf04ab5295e28d7216c05..0ecdaea984f206171c1c73b16d87c5154f4f1c3f 100644 GIT binary patch delta 1141 zcmZXTZA_b06vuPVbD#UP(3W)=YRh9 z+;i{mTp4#J7IGu4EP9fSHk0#vwu8xr1KITE3@ZX-6+Pb3%&2n=dXk|GzAosV-`M*} zn;xljb%{0IjyyA9O*+Z!fOR*EZCe4&#!5uvJ@$00-J@m7iYwOcuokrp+L^pJf1L~r zt;IDpEL#_)WzdY(lPnv(!)g(_X1U!6HMw{o1A}q?8nzx`cI;fsw@7cujkOnfv1|-w zME@LWv*IJ?m|b4&S}h}|1@`UW4(v_vYdE`Au}0thxa4Je`#bgmqv?D$9x^WcObQi* zK>#*hW?AH(XPXsjS!8Q+D3%6bqt-!4FgiY`Uy|w)j05eO5*CIRUV?12cPUmmvOSCJ zP6(%xzYOvoz+gM1lB*5sJaljfhD}CMmx6lIhOr2!^eq9Z#vusHRL?l{mB{ngG@8Ew zO=0|?1YF(wiZJJl$d|FUl~_N)cgvQlJd9Xj3P(!7iYsbhrM%da*}bm}8v-KN@I^1| zKgMpR-B0Ri{WVE{zWQYvR_8+&bv^~_{}rFDW9j7G18*>@2`O)x@aS2QiZf20hl@7& zNY-Du(}2P8q)+RkSE9=Ga%%rwIsX||z9UvCbnt|@kC7|JgM#vX;$gu4PGO_Zzv4@d zB=6pDxQ01#Zbt7cPm#{SzwqcKzJU_6yqMkMxgINi<(a69*`!l--lAzv?l)+XPP23` zo+<*n^tUYOq|J10r|KRc(+%|xH&#wU3WZ&wL?h3Tm;j1-#C0xxej9ZZ3QHkw9pEN< z=sA(N-{}2$6V(ogF=m+0fMFZZZ5p2P&nwt z1Y>MjHU9{x7+hexZkL=c6=}GkQE{NZP%V;yBPxwdiD(M_k`SAl@yiL3j`LMe@xK9c z^ghAUF?L9(vavl!76f);$Afyu{-FLH>;bV!k-lCN`FcbJ;PyIhBllkIu=d}X8Akax XUoFQbEy=+leQ?T)>C$`Jhn4>TAV0FJ delta 5410 zcmcgw3vg8B6`uR=y>~+r@_+=A@JKd96qaP)FBHr^lHFvJePy4SDX{NX_Pv{IQW>C9 zWuT?d3!K(EKr9137{O-b>M*TgES=gZqt-%a)G1VPtd24|PPJ+od-raFJQSzexHH-L z|GWSF=bZ1H^PThM{VU6)Vrh%F7~@}2q8S2~ytrLqZc(jRPJ+t$88)FqrsV}C5t zPj_H(jGE3bp#?r{NbhSAJw zy6J1NC|kjT0hg{~El_s~HBX&rScK8c_Ak|RbshSwy5`0}LR$l8F&zFJNvY{A_+2*# zSB#+A)*Z zpA_WB64FRi?Gbpxf}*@{KofDQy#@b3uh--l9gk*(7T1umZ;Z-ZZiUNfvZ-CxCF>Hl zuc@5JeA;g|jmj&U1c&uMHy{ms7%sBI$)p-qWeFd1Z;IbtfEX=Iku&72iZvs)*$ zg{?}ty&xI%P8d^4Uosol*}OWpdrWe3|V^IGQXC<3qaIXrqJ_h_40ZcCB6ul8E+Uv+mk8864$slkKVe7}L-L__Rc}@$9UdHsnWEaPDybS! z8kFAtOxR_%Ms+%UU_2>Sg={9jE?{%^%R+(iXe1N{s|fGFZxgm{J5d8nRidVuB!f+t zF#h0tS2=VJkH(eBbG)Iz1q zC5dX2Zc|aHi-bmulF_lOF_E>o#yz4jM>=j9bQTAV3MzfM4Ft8Q5|h9SRSbWWP)Y4T z%h<)q*Raw;M*U;qs@oYqc?DYt3=@^#VnCI_zp7Cw1;xOEsw>9w;}d2>%W$>={A^}8%ukMI46gp6QCHZgmHG7&YfRs( z$rJ~|k!Y`=@0&rLJjj4LuLkjEKs|5>kx;Bb)sU(|i)U-t>FN{9ReV+dkj$S>29jy* zSV9pPSM=xgR=Y&#Fod$nK}o_rA{K`Y`ndjY4g5>b!_WcCKlZpU zC5UIl16F}r5X}iK*0EfVVNjv<$^`Rg4zUof}bvPcw=A9tN8ZpoR3lo#=Q)scnU49x!d| zPZcy1C4|@$Orze1VCzw|m~B?2RTEu%85=2|hb>1CmwxyyELT2GGy8L*+cdM173F4D zGKg9isi5r_P~k2{yPskaF<-nUybU4M*pnN>pBR25O#=JD1$(ct@ z0cBj1cFJWFsiIFU)i`rKW{pH`bGoeYs6c0!@H$djnXzCt2{ci^U+2|o?ZcXa*&iCt zDTHyG(r2Z%oo%My-N!lAU48uwRBoN6p#g-)NiMZVcGoRUis_#>F+J>UM(xzrZrqVd z3358sfIOn&XNtKAV@A@ew-<}<9;;JZ@OqSzfsEhc=SwxJ)Ii@*#uqS0ie}e@)TPdj z=X=#2UEU%eNJ+gyU9LZ>%=mMrRKyQ^{a6cq=sf4eGjP5N)kEPZ(O05MA*7!snqaDv z_yMfFpPUcV8k~eZzrZW#6yQc24@5&D*n1eame`9|I=vWFRcHe=zfG)$ck0Qe(uHlX z=OR%7mc8UMxVK1(srT=zg2o2YRAP=*<+sd_kQ*R+hG>DBgE&dmY_0{*0kQ$=wvcO~ z?boEFeC+WW=JJ-Oh*j{!;e z$j_ltKrDb(n#;X5O47_I*@8h;h_`B8gbAP}+A^MIkf_DrqR58AMV@$Yo z&w1jLcFwm734Qm!2@UtQfuTo=Iw2v`pb78%MoOjIfBXYs_3OiF96>$7+{0rK$pS)B_M~;wHRrR;XgYP0K9CIQm z01I)KvXWxOY-jv>Ng;ytyErq&A3`;-aTT|rG)RH^EWzprcC+_)M2CGY1O&8Aa@*iU zGZSG!kfG=k8_1>bGkkpuRreZ1Fv6l5j{3<)Rvrl9qA-t0ZP0)Zc^ioa1w&C3utE*0T90{S28O3X?pz@+i545fN1|eUQ7FRTA*V zL-1szgjElv&6yz4k(wLv zux?#DD_u9wC|FiW&$ijc*YfI1$pEHJ_)6!T2nIEjf1QRFq4ZWIA5RE{~3 z0BjXrkJKT&JegFow%ogy#ppV)um_m2qIeqBvO@|ko+S)+;xET^F6Mogm5u5C!(=^o zhSs3Q!%S_nBTyZz { + 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}`, + }; + }, +}); diff --git a/util/tests/validate.test.js b/util/tests/validate.test.js index d36da1ed..c885a167 100644 --- a/util/tests/validate.test.js +++ b/util/tests/validate.test.js @@ -1,30 +1,31 @@ const { initDatabase } = require("../dist/util/Database"); const { User } = require("../dist/entities/User"); +jest.setTimeout(10000); -beforeAll(async () => { - await initDatabase(); - new User().validate(); +beforeAll((done) => { + initDatabase().then(() => { + new User().validate(); // warm up schema/model + done(); + }); }); 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", () => { + test("object instead of string", async () => { expect(() => { new User({ username: {} }).validate(); }).toThrow(); }); }); + test("validation should be faster than 20ms", () => { + expect(() => { + new User().validate(); + }).toBeFasterThan(20); + }); + test("should not set opts", () => { const user = new User({ opts: { id: 0 } }); expect(user.opts.id).not.toBe(0); }); - - test("test", () => { - expect(1).toBe(1); - }); });