From 1bb6914324760208171513250bf1dbed0b16643f Mon Sep 17 00:00:00 2001 From: Robin Strand Prestmo Date: Tue, 3 Mar 2026 19:52:54 +0100 Subject: [PATCH] Added Junit tests to User --- .../team6/models/user/UserTest.java | 218 ++++++++++++++++++ .../team6/models/user/User.class | Bin 2320 -> 3369 bytes ...UserTest$constructorTests$emailTests.class | Bin 0 -> 3560 bytes .../user/UserTest$constructorTests.class | Bin 0 -> 6802 bytes .../team6/models/user/UserTest.class | Bin 0 -> 571 bytes 5 files changed, 218 insertions(+) create mode 100644 helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/models/user/UserTest.java create mode 100644 helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests$emailTests.class create mode 100644 helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests.class create mode 100644 helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest.class diff --git a/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/models/user/UserTest.java b/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/models/user/UserTest.java new file mode 100644 index 0000000..5fa92c8 --- /dev/null +++ b/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/models/user/UserTest.java @@ -0,0 +1,218 @@ +package ntnu.sytemutvikling.team6.models.user; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; + +class UserTest { + + @Nested + class constructorTests { + private final UUID validID = UUID.randomUUID(); + private final String validName = "Name"; + private final String validEmail = "Email@gmail.com"; + private final String validPassword = "Password"; + private final Role validRole = Role.NORMAL_USER; + private final Settings validSettings = new Settings(); + private final Inbox validInbox = new Inbox(); + + @Test + void shouldThrowIfIdIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + null, + validName, + validEmail, + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfNameIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + null, + validEmail, + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfNameIsBlank() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + " ", + validEmail, + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Nested + class emailTests { + + @Test + void shouldThrowIfEmailIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + null, + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfEmailIsBlank() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + " ", + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfEmailDoesNotContainAt() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + "test.gmail.com", + validPassword, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfEmailDoesNotContainPeriod() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + "test@gmailcom", + validPassword, + validRole, + validSettings, + validInbox + )); + } + } + + @Test + void shouldThrowIfPasswordIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + validEmail, + null, + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfRoleIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + validEmail, + validPassword, + null, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfPasswordIsBlank() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + validEmail, + " ", + validRole, + validSettings, + validInbox + )); + } + + @Test + void shouldThrowIfSettingsIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + validEmail, + validPassword, + validRole, + null, + validInbox + )); + } + + @Test + void shouldThrowIfInboxIsNull() { + assertThrows(IllegalArgumentException.class, () -> + new User( + validID, + validName, + validEmail, + validPassword, + validRole, + validSettings, + null + )); + } + + @Test + void shouldCreateUser() { + User user = new User( + validID, + validName, + validEmail, + validPassword, + validRole, + validSettings, + validInbox + ); + + assertAll( + () -> assertEquals(validID, user.getId()), + () -> assertEquals(validName, user.getName()), + () -> assertEquals(validEmail, user.getEmail()), + () -> assertEquals(validRole, user.getRole()), + () -> assertEquals(validSettings, user.getSettings()), + () -> assertEquals(validInbox, user.getInbox()) + ); + } + + } +} \ No newline at end of file diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/User.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/User.class index 3a155f92f0d324c28866844af1a908de60cee3eb..e981ecb29753f548c70640e8cfa7b8d65e4f2e66 100644 GIT binary patch literal 3369 zcmb7G-E$LF6#v~e?WW1L#X!N*Rs$$$zM2AxU<$U-Vxy%Xp%E%5n`CXb-E2yBQ(&BN zeDTFUKnKPrpJc`dzfxvoM&EG8NBHia^#sjq3~TxG3V z(k*AQv4;M7cDm&r49=58cITe5cm3<8gj7%;y4P~8*VXdX3xd4W- zPr*wnLfF46AXh{{G3*Nz;iime)sGQ@iDj*%xA_W}E8#rLP5E(1K+Lk`Q5AQ+HdN6GjEX_A3g1=0&8%`l(mBoWrEVz^Ybop9ZBI5HcN zhmom>A4dfCUn`sKLHcn_;80d~9LnBqGw#Rh0tYfyzI?y!%K##nR1j4WLtG$cIaW1g zKXCL?)!8;SO){2pbggtcRVo*C(@s@wy^>m?hd_@}Bv@VOtBzr&R#r0eX||YDF@=sd6f3!vcSv> zQrT|hG8gEIimUj5kT&d`W*WsN(vc2G?*%%#%2s*>{;rERiMUs|tCQ!`WKS`=#H#^% zm+~&Y(Ht@4A~hX>vt(HMas~EhmANrhigT_#|eBvff6N@~0 z3Jhi)t+07n+mZ$q+@emDgS7#wf{(i%63kZxcLb)ogVcjbL0%x$1WXAk^pU4JO+fFnyq4bs$@=RtowhgE1Lk z%1kjMaD?Vq4_*9zx&>)u(<;O_2)%oF^vgF5clo9%D8JLtlW!Vc@=e2s-YTem$kOvV zAihB_*#sWPos|*Z)5Qqj>i%;Bx1=Lrei&2pK`A5&kZDZd1Yc{ICyZ*ckpT3|!>cl2t||%C0~XNnDVn>I1KDlJ-vk$k<{7)Z5 z-5@G0w$+AhRnm_svemG7uWm6(NsMz6)Ua`{VdJ|RcFF6(>Grg$)KA;gPxqZ!6;I!^im@f5Zy|g$h;_kT}EdS6*%cbw&VE}?papvX| TT>Ay5IAGDz3&XT?q=V{z(EAya literal 2320 zcmbVOZBr9h6n<_9Ko1Ey6RM1g^9>Ud$AqX z$*HX-Onf3%8MoqizTl3UIELd2qdz%8@N=!cciRc}<*Lh@?{_S4%Z<7hzOcW42edSV zJWgbB(!^)@Tw&qR3<^h{xS_bvVpfZuknccz2hqETm>Fm^NzAFb8 zOibgV!eHQrA+r-G%zq%@?w8n(5jvqo6BcHeP_J65{h}~;K#~nH*ZG<=aS1j9_kvx= z_x3u0UrY$RKkniq$@+l8AF+8y7yZT`dGh{uOiaw7a!}l*Xm3*KOu?pCb+;Ool3Rb^ zlzc7YTG{b;ow_Ic_%I#rdwj3i170JQv&5HfX@ZYMjcu@yCJM2RIw@1g^5d4Sp~=?g z?kXY?4c4T5BHQ~^l)^9%Tf$ISB=V3si+Hsx6zl`zBOTEb>NxWHXo6}a$HTPfXiIb- z2QgCKcgxQ@pArck(ZA&~dy{TsL)*1Rz3i@g5_(P&d`VgordU}iHpM}lkgmejgfuzM zDd|pnX8+MM3srw-UFwZ-_y>J1idBX)-%-{>| zzT^npk8b1c3U|C$N1^me;*b~@rIXSxS$)M-TCXIUj9y7RhF(cTSw`|TzKP?pISX6H zdX4OFTtqG!`tYiDK@vcN*ad~FSmKE!qZ>TZ3tmYCFDHV>d%-sn!QUo=r+UHbiQpA{ zm*DpKUhthn@HJdd02g|}TZ!NsxEX_2m|l4?LzFYpQH1<%0}q(w9nEkovTDD&p*1Tn zwc6%d<%aTk}-<}$SYgliqQ z;z+Nxyc6fBty6C>`zyWemRG5Zt>3dj+@@+Hp`Fu_0>ghH|L`s5Utv<*<6i@gkygjJ J+t3%>`5zRT*|`7! diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests$emailTests.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests$emailTests.class new file mode 100644 index 0000000000000000000000000000000000000000..51a8c3c7dae55e114272893cb6e906b851d467b8 GIT binary patch literal 3560 zcmbtWYgZFT7=DJ^hPX(K)`GPbX|xcO#a`?swi<2{8zUtN*4o-`k^vSrJ7ISg#ZUc9 zJ;xqBdQN{pPe1hs_4J+HK!TF696n@c-pM=9^Uiyl`TM`ue*sv)a}7NVw;k#DhPNwu z-IqJomTfufhU8}brcoC)ZhMCBan~r*r^G#(stU)Gu3wcRki9ti(63=YhlUu#nN4%Y zG<<2<#)HZxuS$>Mw9B`B%jE^(6nxuexH^#!)NGTuLbc4~yGw(JW z%enbX3{wn!1+&g$xXv&nDTnT?t8A)@dJG0bY?+SpRJb*Tctgjh_>5sNKwJ?v#qCCELozR_roC#qmXe!`eX2t-$EbF;Zg^u z7s%YAapdaec;-&oE@>njeHP0A~V-a^`_WmI7NxslKyGG zHJY13+m=kHW^*r<7h=nAbZ6g;$=Q0QXxL%6(n`()h8{e=2I}aSx~tMdB=i-=C`buDWuT#P`QczJ*_D2JdMEp4xpD0 z2Q3lUlOsV39YDtq2dxmOeI)3E4xk?&4%#5l=iNaQJ*vin`(Od2ZHP);1wdH^6pM{`xs=^Bgm+;bSKLm zgRFc688x*gS*hv9^Z_@rV{qMV<4V8nMfBq#d9(*VVlR&$k^EDz_87m=m?nR3QSm*& juk;INmHiptpKZ|0CH)Je%kUT;&EqtaH2QdoU5x$@t(>{* literal 0 HcmV?d00001 diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest$constructorTests.class new file mode 100644 index 0000000000000000000000000000000000000000..e7def3c7dea39376de39934c3b6c605f9dc1b659 GIT binary patch literal 6802 zcmbtY`F|8=8UId5vdLxwVS%=xNNC+cvT0e4g4RVKq(M?cKo)|CS|__hSeV@jyR#f# z#iP}##kSQZts8QMoV8KGoZh~%DCS~b1YIiT zBSx)NOZMy;zFtAJs1>qi-eF?Bu0q>X`Ic(OLM)2l5*3%?G6kCoR-v3Mov`$L**cm# zY~*OHrEB^1$-J4>jZ(5)(u>JGeC*asRy<=CN>;I)u}quix+6z5BbOD`UC!dFy4tW< zLG!4V*G20R6)(V21?~0(`Klo1+mEzWr1Df7mMNGwl-F{`<_USO%$RwZf2E2S%KWH3 z-xg@YRSMd6YNgUKvzQg36)Ji~sM8jzjwH|@!PP3R!Ab>*aEsn$8Z@zEbjPmk10y%? zNe}H(aP>&|x%OVKQn6ZeI;$4Q2-YfC84f0`TNXE^6vY~}%lg)bJ$Id_cjKRZkx_41Gc~28t8q zyk4+|j%V~qD`ysBjJ`n?*JFr&rXSZcWs4_L=nbi?uGcaS&EiDzP?>SX=VZ>Jk86{; z2F|uiYA{aC{ zn7Rn{{*+-O+D65oU@*q4#K#@lY0{o;DBR&eL@ces$o$~jz=bH>n) z{V_!4(IF329-Y`PUYk*o1p}tt@y7wFO3B{+7vp@aH)%|$IEWlG?SyW*@t$O533s;6 z{);(>RT#*7;W2citQicC75?yW%4y2yTkaRBd}){}CUJyGnU+)>LBX2P##H7osM9E^ zuux`ZA()fvSB3_%Jyt-DsW^@k&feHHNx{NO)wL_XTh>JO4JzI!vZ7GxpL~0>ikqa6 zx5(aR+wc|z3JYN8pcGoIV2x=;nMb(xVqGxRH^$mK$QsUSI+82sqviZKi@0PDsk>%I zGsd)HPI&iYvvn}X^B4$uu=TSmTNZ(euL@t6DqtzL5!-d^pqbsN6}d%B%rt3H>7ZFQ zvUd6#J}{geE;%h$_pWlm%H{R3Tq(zO3=|5crMXFXNgX$rHilX*odGGQQ31UyU}OuA z^00!-XAD)ki^{~Akm4bgktKEJ1;SQ*v@&_7J$5)%hPoWw!J@8Nx@;kjyllV1_9-%n zyU}fE`SGk4zYs6JPBO+tIE3wXQLliPBKVks1=ULLRj>v+uWc~4w!zq%24kxmjL}W6 zn6dtfpGn)}Y_+&@JV<8dVTssPL1I-`v5#EjmIcXGou;nFDwM>4hy@z&cywcJRj(JA zr9lQ&Voe01X|r6+=v#A=K{_iDyHXC9v+IQ0D8o(9(#6_@+Gdul2)-J+|E(xtR@h>i z7Ox)Kq>~;>T~Oz>;DIQc;wcsP+1wf7rd52w=FSRtPQ~YK?jhkGR`EHT`?he8sQ9eS zeOI{eskqnXzAxMlRD8zfek9yuDn4yctw;!Q5Eo9{1N!capPD+jt!`^iq7pG!K_2{e{&nOukY(W8&@;lkCZ=ksE%{QQ3H| zzpHhT2Q|Y;vlFMUsKbSVUbI_fo$0^p!dqtqe^YQnxc;N!LN!;{xGuL#DF;*$tuhh( zlTln};WM{0f`8NV8;i0SI(v_0JoGl+Xd;No<(pJYZp7^5-%7d(-Q;=0_4pq0yv%xh zoILN6_B>t!?Kf{?d<#|w-bReKle(QZf+oJV^zWO7vUhLd3?hkXbWUMGBGx^H%M-Dl zDO{0=#iy`5aT(q%!Jv0h{N7nXKU4?w6~Um)=lJ@p zpdYRSx+@s;48!K#;e{xm$3{y%2;~><9Nii!OX;=nWxRW(TT0MGi6RWEYIKLq(MN;LC* zH*s0P0&v$6w-A8)OlVxz$pG9Waf<=CPlv{3HFj|~@-6!ijr9=qXaMSYA8ORwg=oMo zu;SOCb`$mW0jN)fMrBvwqWaHl0de0HfcvBmxAB>=cX4sI(uw7~mjpYpLJ#)kUdK14 zZ9PujUE=PF-y_&3&5o|P@lk_*-z@0t$z1ed*Y=(nwx1-hKLBeK-0f4)6JS1Dz{ci_ z>6P%VK|kd~5852In=bk`*Zie^^98%1^(TG!O9QNDb6algdbYqp>NhklX1-h?lCx$(>7zhZy8ACd!4v1j=W zbL?r>m(wowphtbfqrT};-}0#Mc+{gF^+S*Pu}A&Xqn`4pXFTdTkNPF4Khvhgv}Ymi T$6rYQmDJz){s;br|DgN-7mm4y literal 0 HcmV?d00001 diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/models/user/UserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..810d4b9c1a1ad74452dac74f086ad3201173e017 GIT binary patch literal 571 zcmbtRyG{c!5F95V2YHZ?@G2=%00pL^0YMRg1PY-5(mRI*4nCiB_C?~esE{c506q#a z7eGjK5w^TLJ6_Ftz3(5dZvalQSwjis2$cpFP!(uT)Kp2U+`YUSPjnmvsz=6|a4b;X z-Wf$$6xegY<