From 1102d1f63e73ca961886c6ae134f26c753f55102 Mon Sep 17 00:00:00 2001 From: Dimas FM <dimasfaid@gmail.com> Date: Fri, 3 May 2024 22:59:17 +0700 Subject: [PATCH] Add delete_others_comment test case --- db/comments.db | Bin 24576 -> 24576 bytes db/posts.db | Bin 15060992 -> 15060992 bytes db/users.db | Bin 53248 -> 53248 bytes tests/functions/__init__.py | 3 ++- tests/functions/delete_comment.py | 8 +++++--- tests/functions/logout.py | 5 +++++ tests/test_comment.py | 30 ++++++++++++++++++++++-------- 7 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 tests/functions/logout.py diff --git a/db/comments.db b/db/comments.db index 986328e8d39c5d6c219826486584b02fe6c8e2a1..f3b27a4a5a2318caf94fd8f264d5f094ba26908e 100644 GIT binary patch delta 173 zcmZoTz}Rqrae_4C{fRQpjQ2Mt%-3g(+GM~eAkXrQftzJ61K(NRbv)5r_c_Zsbl7&Y zZep3sn#rob61iEy!IFi^DSC2&t38(~=UVpwHU`c@<;jMw#=?H7<)Ou?MR|$2sc9zL tmoP9eSWVV*HDh-Vf~yfjR%6Q8;T{N=;zyP;+5UL5V-zRj=G|_tk^rlBG~ECI delta 115 zcmZoTz}Rqrae_4Cp@}lijE6QR%-3fO-ekZiAkV<Sz|HcEf$uEuI-Y2*`<&$*I&8aH zH?iiiYOy?HS+rTf!IEY2iwI99r;y3fE)FbAc1}TH24ja)Adq3tYO?*YQvis?Y_fgH OX2&Q_#?8CkTqOY&0whHM diff --git a/db/posts.db b/db/posts.db index 6ac96c4c168ec5394dd2238eb687e0b0b553c055..d5b549664ffcb36ddf1df9e82e03e012b5ae9500 100644 GIT binary patch delta 4672 zcmai$cXSoi8pUshYbF<u$pIA~pn#w#QbP?r5V}B!C@KQN)1aakLQx=;48=o{5((s@ zfP~P3lq5(piin|ug$~lCie1D4>U;WrAB<}`e?8XvvF~QWd}p6IbF-bCi0wdT#i)YU z?@o#;DD1zubyUjw#JNMPl$1%?`BSp<qriev5QJMG8f=Jx5R`^nLBVYh3vr;K43vf2 z;SRVH%E4XmFDMTcpd#E2_dq463{~J>s0!8KKDZyM!vpXj)PRSeCe(u3PzUNlJ&1?; z&;S}jBWMgwAOV^}GiVMipe3||){qEope-apJ7^Cbpd)mG&d>!OhOW>Jx<fMbfE0KH zdcvdd81#b2;R$#Wdc#xD2l_%kcpCb{0QfgN1J6P#420+4d3eFi&L5PP7@QNZ=M+wu zYR6{o?bkInaPR$_TIQUsRLylFhi(r>(*GQEo4ay#jUvnC<HV>?m1l+wekBl4?&KFI zzqBD-I?b|vji|J6@9NfxK)|{H=iwZjh0oy(oQ6|yGBP7AT)~Py5XnmmpC}#uMIaD; z2`)xv3=QX2vbOViFMJB0z{l_r?19~puEWBOt6N`lpCb4LzJjf=jqCehKc8JFj^y#P zRil|1eG-ntXK)mbz+pH92O|$=geymujt^IiG#ehSRo2?UzwUyaAfLBKMhy>tUDmqD zU0JEciml7=r8{Coc%YSG9m8;Yi`!d2!BzMXuD}ma0$bo98~{dJjJ8;+dIvTDaa1wG z*1&3b8&*Lctb`S?6qdnqSPSbQKM=VsBYbCM@W}AgXp3Oh(a82O;i{2Jqrz(<e~t;) zsQq&w5Y+%$Ln~+r&H1k~j-851g0|2G5+n7-hs#A8j}BjtwZ7qQ-@<qBz1t!^JU%Kz z4P~LjU^t9`mqCuhNEij9AsxoRSQrQ6Ap;zk025&nOoms%z!aDY(_lKh1~XtL%!1jF z8OR8z*ZD99vS2REgKUVve0T%igaxn=7QtJv7;<0<<N~{?*iFT5Dt1?~%ZlAr?7Cw2 z6;DC&G!#3n*lCpy1u^_p2<syyW5Z*j(jp1t!n3UC%kC%R!VS+CUm3c<j!JPCUK=_v zW{Q<I7=}QaYo!hSGb0!X*!Q}j#G2RQLZ$c3Uyz8e>V|rV*I%w%_aA&UH`Kr8Z*exy z0(YMqN|UQul`s6z9e=+Ya>Rd{G$o0b%C7E)GR1G~*mKWQ_y^ojj`&bk`{&4LKj?-E zYW^M<{lf2<8g8gWF3uiMZ6-(0e#i~&7vE_0J(D;ic1<^Q_Qv(nM+(Z|Yq_B-;*WQo zmCXj(wTnWvuq7F}XEe5s8`9$QpIA1Fhi}()Lsi6g-qL30d3-%LR8M@98e6k#;^Rp! zKDXz$KXPd7`Xm?MyKLqn`S}JU7hmUKcDHzZL$ZtC(Ytz!3;0H47ynma<E9jRW3r1c zGhkpb2gz<icJZStuKBGRK7s7wb8F=F;@R0vi7&qH(v$g}@y&=Y{z$DO8#zmMbK;AC z@$$aW|HZc;zWAliw(4@fmPMi3*n+0>*YXD0t%xsv`Gv5<i(<DXzW5r)Zja@Z*onj! z-{FC+Lwe%d5MO**^UXlcx!sod;>%~XO%k6(eDMbt_xdRr-;Vg=zmGrFk@w1OPkiyY z3p&@TkMBTy@y{*awSN%4Bk{%8OYO3m(_?oczWBl!FaJIX-<kO0Z=HQ)eFc0M;)_r0 ze0a|v_=kxv{@kh!MRE|k5?}n1Z7tJf`@0o|>R`)Nx>a6zyF2m4>uT3__rWI<U;HzD z-Eyb#J&0fDdR)wmqu2SCuv17cm*0CaG;b^Z5z>oq=iXIb9!^ivi|_Q%h8^$VA0@r` zUR64#@fBo0Mtbo%c?s>B;d_x@{IP!N|JjUxob=-7MNTb@!#_cK@f)JsSJ;JrlJw$x zt~)(!8@@N`Z~T11<T5+)Pmx~yfEDq1a`yX>UY2h~l`4hpTNJ9x)xKRiUE;gX?nij> z3AJN_1Mp81Ui{jZa$R|L{RuDraEIwl#^MK%Ui`2=^O|-D@Q3tuFT|Dao;vce;i<z0 z4+y6=7}&5d9vUW(cs_NQ(XSXi(&$k}k2X5p=rKl*HF})U<BiTR+A(^9(G!iHWb|aC zUp3koJ;ms$Mo%+(y3wy0J;UgkM$a;Ow$YhJzi#v#qqB^jYxF#$vyF}zJ>TdzjDFMT z1x7D4dXdp@8NJx(9HW;Qoon<`qn8=I+~^fXuQWQ(=v79)ZS-oR*BHIl=ygWt8(m;@ zq0#G&e#htyMi&`fY_x0iyGFlf^hTrKH+qxN9~iya=nsu9F?vg}-WpvJ%nI09g%hUP zcV_PG+buRw*()D$!Qfr&j=T2SpyZgpD~DaB_{z?o<8-52b`NZH%Yhp^#dmRCH+XjI zUvW|O+~5___@dx8q`n)}q7B?&714%nu%2imH<&2e*bVj&ZQ=&|izc|iG|{GR&=GCs z1~WyQyTKgM7H+UWw51y?5pCrL_lve>yl5ihMcWhww<B#CFPg-7(RPd%ZO?eo4vZJ= z$av9Cj2G?9c+oD57k!xVqFos;+Kus|-5D>M%y`irj7O)G(mPg`(mVG@r7>_17gCCX zJCI?lM|3#r5goy0(U)0|=qs#8bR_E$9mRS?N3$N$bk-v}hV_V!Wj&(fSdZv<)+3t1 zdPE)8BRZidxD%Pkc+p9W7oE&_(N`HSY8Wp%h4G?O8814G@uJfiFZvqeMQ1QxbSC3P zXE9!MwwF5dMryZ|-V>$09m?`{Y_7M1^Sm9+_I5bp?f87}3B2JwkvF|3w7`2}3%w_} zh*7fhZ+TC6vG>GtZXSRo-g(IN&c{;5%lTNwc+usI7hS=4(UpuB&11aiD#nYx&3Mt( zj2B(Qc+s_t7hT7A(R{{>7Ti4kg^cHIa7)R%;aWZFUX8PFzBs$xKPrE0CtB)VzLw+{ zyw^q4dwea4_qvGM_|Gn)-uHJAwaMQ_)Cc}9qBirDEO+y|i2Cp!T||}myNKH2?;>ie zzl*4C{w|`n`?`qQ;qM}9r@xD+UH&ejc9UFww|iYg?IF2%uZyUU{9QzS?C&D#6Mq*` zpZdFq+Dmr1pVvjyK7SWc`~6)+9q@M%b<p2M)FFQtQHOn9L>=*W5p~qxMbu~hE~1VR zUw*fHT|^xxzId;Ts1yD!qE7m|h&tu(BI>lii>Ncim-~5LM1Ah>BI>Nai>Pz{E~3u+ zyNJ5r?;`4=uZyTl{w|`v@OKe)+1EwXm!y~9^<EcIUy)wC*G1IV{w|`vx!FZxye^{L z7>8=`cNJ0J`KyTfp71xS#my?Be(+Zjb;Vyr)Q|ouqOSU@i2BJ_Mbyu}Dx!YzR}uBA zzlx}9{wkub6aN2H5vd_}2sf*Uv(GsDjdQ>_2aR*cIERgM#5hNd^O<pu8RxihP8jE; saZVZMv~kWD=X2wnHO@KXoHxz|<6JCuE?rHIZ5p4tS@jW;hCG}4KPxwz1poj5 delta 3768 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 diff --git a/db/users.db b/db/users.db index e6d76785f577848bdd591f541e525eeffd4a64ff..4c67fac0ac4e1e6eab56ea3723643130af65d8de 100644 GIT binary patch delta 169 zcmZozz}&Ead4d!Zv*bh>Cm^{oK~k4_5yPU*HM%Z5jEgoOv<&3}QsOQzq!|}&N?=To zXH8<@XSl?`&%-CmE5W14t;nUtY0P24?#SlNxQF4=WQ7A0^_6%S44oTm8&yR)S;R|= zQ;XtDQj1ICi&E1wi%U|AN{buQ8bx>*B(;HRctsf}7aYCJ!J1~U>uE?)>Ezu9A2G4; VZ=QeXFcS*{1H;SBX-8*q0RRB}H0l5V delta 295 zcmZozz}&Ead4d!Z)60o6PC#;Ff}}3<LWYH#Yjj<B7#D6nXc@`{q{LlbNHZ?nl)#uE z&%nUI&$x$ypNCJBSAs{8TainP)0o48-I2|kaSv<KWQ7A0<rR4t44oTm8&yR)S;R|= zQ;XtDQj1ICi&E1wi%U|ACjWAlp8WlQU|NZ(ms3bZQl6)gyIXcyM3IVVT2YvjaZp86 zRDND^fn|7AzJFpsMNmdwn6poacZPA8OPHIZxqpVEZ+WqgheeoirhZDIeuZmRc4$Ou zV79kjT2**jqCtwIX?azszN>eLU#YRhWX2@J$@34gDx)|;ttc@iv$WXO&;aDXG~;c% g-4b((C+|M^h>5vs^ZY}HnOGWA8$~v!9i7Dm0JS7!G5`Po diff --git a/tests/functions/__init__.py b/tests/functions/__init__.py index 53b821c..86c6496 100644 --- a/tests/functions/__init__.py +++ b/tests/functions/__init__.py @@ -6,4 +6,5 @@ from .delete_comment import * from .delete_post import * from .edit_post import * from .login import * -from .register import * \ No newline at end of file +from .register import * +from .logout import * \ No newline at end of file diff --git a/tests/functions/delete_comment.py b/tests/functions/delete_comment.py index 2eb71a2..a82a339 100644 --- a/tests/functions/delete_comment.py +++ b/tests/functions/delete_comment.py @@ -3,7 +3,9 @@ from tests.utils import URL def delete_comment(page: Page, post_id: int, comment_id: int) -> Page: page.goto(URL + '/post/' + str(post_id)) - comment_section = page.get_by_test_id(f"comment-{str(comment_id)}") - comment_section.locator("[name=commentDeleteButton]").click() - + try: + comment_section = page.get_by_test_id(f"comment-{str(comment_id)}") + comment_section.locator("[name=commentDeleteButton]").click(timeout=1000) + except: + pass return page \ No newline at end of file diff --git a/tests/functions/logout.py b/tests/functions/logout.py new file mode 100644 index 0000000..b20662e --- /dev/null +++ b/tests/functions/logout.py @@ -0,0 +1,5 @@ +from playwright.sync_api import Page + +def logout(page: Page): + page.get_by_role("link", name="").click() + return page \ No newline at end of file diff --git a/tests/test_comment.py b/tests/test_comment.py index 9c2f2da..82652d1 100644 --- a/tests/test_comment.py +++ b/tests/test_comment.py @@ -2,17 +2,20 @@ from playwright.sync_api import expect, Page import pytest from tests.utils import URL, UserTest, delete_comment_utils, is_comment_exist -from tests.functions import login, create_comment, new_comment, delete_comment +from tests.functions import login, create_comment, new_comment, delete_comment, logout -@pytest.fixture(autouse=True) +@pytest.fixture() def user (): user = UserTest("User_A") yield user +@pytest.fixture() +def user2 (): + user = UserTest("User_B") + yield user + # Define a function that takes a playwright object as an argument def test_create_comment(page: Page, user: UserTest) -> None: - page.goto(URL) - page = login(page, user) page, comment_id = create_comment(page, 1) @@ -23,12 +26,23 @@ def test_create_comment(page: Page, user: UserTest) -> None: def test_delete_comment(page: Page, user: UserTest) -> None: post_id = 1 - - page.goto(URL) - + page = login(page, user) page, comment_id = create_comment(page, post_id) page = delete_comment(page, post_id, comment_id) - assert is_comment_exist(comment_id) == False \ No newline at end of file + assert is_comment_exist(comment_id) == False + +def test_delete_others_comment(page: Page, user: UserTest, user2: UserTest) -> None: + post_id = 1 + page = login(page, user) + page, comment_id = create_comment(page, post_id) + page = logout(page) + + page = login(page, user2) + page = delete_comment(page, post_id, comment_id) + + assert is_comment_exist(comment_id) == True + + delete_comment_utils(comment_id) -- GitLab