From bd487e09e424735c755aaa1b10b1b379fc2e3a9f Mon Sep 17 00:00:00 2001 From: Vlad Smykov Date: Fri, 13 Feb 2026 16:46:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=BE=D0=B7=D0=B8=D1=82=D0=B8=D0=B2=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B8?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D0=BF=D0=BE=D0=B4=D1=80=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=20=D0=9F=D0=BE=D1=80=D1=82=D1=84=D0=BE=D0=BB=D0=B8?= =?UTF-8?q?=D0=BE.=20=D0=A0=D0=BE=D0=BB=D1=8C=20=E2=80=93=20=D0=90=D0=B1?= =?UTF-8?q?=D0=B8=D1=82=D1=83=D1=80=D0=B8=D0=B5=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 10244 -> 10244 bytes fixtures/.DS_Store | Bin 6148 -> 6148 bytes fixtures/achievement_information.pdf | Bin 0 -> 9647 bytes fixtures/education_information.pdf | Bin 0 -> 9765 bytes fixtures/workExp_information.pdf | Bin 0 -> 9932 bytes page-objects/LoginPage.ts | 2 +- .../UsersAccount/ProfileApplicantPage.ts | 109 ++++++++++++++++- temp/user.json | 2 +- tests/ui/account/profile-applicant.spec.ts | 114 +++++++++++++----- 9 files changed, 192 insertions(+), 35 deletions(-) create mode 100644 fixtures/achievement_information.pdf create mode 100644 fixtures/education_information.pdf create mode 100644 fixtures/workExp_information.pdf diff --git a/.DS_Store b/.DS_Store index 11a20f320ff977e5d846f4e0fac640ffcee7ddbc..50d15c7800e112b4135cb35194f3360a34c344ab 100644 GIT binary patch delta 302 zcmZn(XbG6$&nU4mU^hRb#AF@;dtVNQG=@xu3WgGfQidXiREA>Doc!dZoctsP1_l8J z2Bsn)J?}pl09gzS80wSCiwmIYcTUa}E!2>#t~N9_H_}lsH8!u+QK+^wGSE>lF*d8M z<>U}m*0&Cd&(6us%kQ4dC?+r5gK6YuYq2aw#>B~Qg^Oh|Y%2>c%FD^mO9yIW-0UH6 zghiGG==4;ET!sQvhch?$QFj0U delta 47 zcmZn(XbG6$&nUDpU^hRb&}1F~`^|~M2U#|INmMd#{wvMJvaz9pc{97hFP6>r63om1 Dd|VGv diff --git a/fixtures/.DS_Store b/fixtures/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..8ddcf34f05117395662e9c5ec011dcb04d7441af 100644 GIT binary patch delta 266 zcmZ9HISztg5QQJ0hDf1_NMj=&fM9EDqo*)GxRD?jP+A)fAaV$6r1f5w`k+yqWR}d# zH%n@#_SKLjH4{c=nL`DD1oVLo66%2(Wa56Q3L^-(*u(oR;)E450k#Mc5fIFHj00FW zVvX(64_(I(9Zuj}=|*q8YheU*NhCET$X85&U6a9M_6MmrBjyT8NjD_jI!@vuB)7^+CDNpUMa8u|c~4 delta 70 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2yDK{XvVhr0b>>8W_AvK4xj>{$am(+{342+ UKzW7)kiy9(Jj$D6L{=~Z06T*Zn*aa+ diff --git a/fixtures/achievement_information.pdf b/fixtures/achievement_information.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7353fd761530bf32e10c158f10554869c0dd8ad1 GIT binary patch literal 9647 zcmaia1yogA*ES_33MhhvazH}*B;DO1-4cf`=|+(5?oMe0q(d46rKFUU?vxbx&%t}Y z@4hkqZ^L-@T64`cSIs@fGv`^filX8yAXW%2ZTITY>UPm__DFXxE(8Ds*cw{k^6~=M z#LcZ7;r58Pm4PE%6mDc|3ZC11i;Ua>)>b)H?YQaMa@uZmd60$?HoVp zT5fncZ51o0CUrkIMZOy#;w9?-+`&vNLLvK=i>f#OGpZNE^M|YGl_Mnn zUsF-Mq=weBD``N2`cwWv^8`99vjo+ot8AZk1LH9~=Cn>}2s!4YKj}um@6Ca-Dnrl0 z1nH;WpG*?OhKw*NSlUh}tf}YN#vNya6(mB{FXMW_iRzqFIO{xIo#dY(nYdXw&vTn9 zZdRKdK&c%e+ZsCRKiy$Po~&d7j)}T7xNsZezgCYZA-4?lkF8U2vqS8aqJilh+QV%e z0boS)D*)RoxPz^ey%F320R1Bnv9)nTv^xNhTaQqXgBzP02-~^>w1Ef#j0?sJ25>?_ ztXyDST*Qw5H5jt<-{+)gZ)>CscLZo7MidnXu&KaZ9Ra!kHW6DZTYF_Y10y&9d7L5+ zAOP%c41RvZp(2L86RW6z0USs%!aDLu{~Cbv9|OoE=Ef$3bOsxQCji();m+np@K+MT z|LYFyAn<>8n16ASL>Cq18RDSfR*u$@N7Mk?6Eb%kz!;C@6AYygske$~f&O&PqW8p! z2pQCjRX(9g1W_A_5#4|1XE=p(M4;H)p(HA{Iu~w0?iC>R-8|zUCIl`$k9orT{O+}#Dce~NTs5zp1m9& zKTnrM0TQL?53SSXScQPah)DNBj?hrB>q|*aG7PIxE7kOgkpq985R;wC7Z8q z^qX8B)+k>Xf|%mFq>thiz@^wAh1GA%ha&OqN#8yD)!3PfXm{ea>v#14HPfa3pFk^nss zomCReTo9vLh<_RdR|qtX>io{a4&|G#`v``-AG;l<4u<-t2X^=I-bx7K26o5*QRjWl zvHcDRp5zLZL=)%ZrwC6HkZWPPi3llj5~25qghUg>3SNxRy?@I1t|Ui9k?-V%BUux+ z?z_uutPubd^BUF5pD-D1+~C19O5NL;Djo`KiO#`AQP(HwSR|i*EJ-&I^FOTbBv~Rq zKw%Eh?~KD1?8inQ71zKfKNJ;?)}TQpq_T{m&POX2OO1Y*Pu>_I8S`cZ9WyA$Ao(eA zFX?iSX84k!n!%)@G;ku>C|OOGWR2Z~0OEV$S712tp-_XqOu!k3oiHterCaTF)NAdk zqz~xR20J_y5Bolm{-m(;Zg{E#wt-b()ZqFu5d?AXmx1By3M+?K!51%R#Kx0LtLO_PSj(zP<*a=ngeXrn19Z2BTtz*dWA#z%% zMT&w>K8{E#kcQ+H4MR$;uZolfwJseWT`N`G0JpJ({ZmarJ%tLIEPy^Oeyo6E{7X6_ z1!)Q~;Td@@=|({}K{t_tR}bFXeA6gNZpzS7XchI6_F|KWgCrd%Ef18(mBv^mY$tip zD#TAExg_bcX3^_Y`AFXs{%$~1>JaQu_RXtO%Mo9y?c@uP5=+fZFbpBm zMB5VU8(aTKp;&OUYK*pkicEOCz-_FdR<4%&JN!HFnFL4v)p*=y&k5y5>j@5=7OuVe za+PA0Y_;a|E6h&d>vPB}(t_}~@aFKSW9VAr@bd5v_DXZT+ZKj|3q~78&jjiOlLXX+ zs1jLK+XOI$Itv4f8H=k4*3yXKqG6ZJ;S7D~?aJ?# zTXAHmWNl=mWU6FI&|Vm6s!i%Z>T2pbw6E4o>;6X!tyQh{k9xp_l)WJp6WW?EuAK6U z-6EDz{`|R8zH+1YH5#UQ@-<%{>&CKba|qSz)GNCPE6A{Eu<2JS?dR|-WtC^;w@b8Z z`+WX10{H$qOen46eNJdjyFsQw-jdOal9~=+=2c!d4c89iS+1GUK}%uHeYsV$nwn+eli6Hdy#1beZfO@x_xZv!!ZL{Gi1nFw znUz_#nJG0HH1BCx*KSo^c75+owbV88>I<}3HmdnrIJfq(yqIOdxqa7*Csns-*M0m(O(r}m?7mKrGRV_1z@!}VS5a=xklNLbd|z8sR9idc8x(anTPGX7uNRzDsUD+VSs#05xNosv#Lvwi!XLr^xXrn()Qj!h;2Q1P`Eu@f z>R|nH>Pi8F6Qc}g12-Q-977F@|2`P!(LE=Ot`5|WW?A#FE5h zk~Ek#YgWX=wZZ{~e8iOGPdsRx?TgRG=467FcYfk7@3BI35^Hw8+kadw9vrTS*6+}K z!}y$>^4S8xZOG%!;#Jv-6a7Y)Rg9^)=Af(C^!svQPHGs-4G+G z3aKYj%V-Kh9~Ygf^^bg4isPf>^B5q-qs3p${cF!_$AxJPLaUf`A$;_$Y+cYiph(ka z^NBsx$GL)|F|scmG)`{Zz=)L`m8iWxOTFVx?(fN*WeDf&d zs9Ny*>Q?DW3yF!Mt^6%tvZ&Ox)-8|v-Hh*jKc?CjtbN8&BhY)W_@5I|wD|O&DO#2b zS@#&sE|ql+Z|80`wVV3r`-tvJ9>xqy1V|M0bw)W&@O+!%c+U~f-Wd_w`(gP_pY8SH zFAyz{}t}GYtBjMhF!>|yNAZ~R>{-)ZMv5bnU ziupm`q)NTRM*HF)tyjNQlS)l1xO92EGQ3)M1Fs_{pEqYF>hE})Z+_gjZr!x2xlUXz zk8Hc=wSK94#WsK1^I7=YxeuK>D#Q&%L@{+k>BFA;b6cWRBKtQ-hdjU>uW2r>);u*sMkJ0NH@lF1|N z{eum2{f9{r14jcZThl)z-{CKI|G)GZ$*BKz4tIo`P1(uN@h&z{v3G+1nH+Kre;S35 zj|h{Houe&cwn&*M+`-7+98tH&1tG%$M0}uPt7>C@7mI=Z%o7o(**iFjm>JjuAPAl= zYw%YE$^~FkH#c@PLoNx%$pwIcVE`BmgbRis%NzhG3=vttAV?Vi0)_yU{?xgmFB|GmJ!VnPUr^Z$+kbYs3)bO8zc_uX-y{Sc|LS|LDsms)qnM2d#FS1(2L`E-aJkPo7 zHuGEk59H7{Ct3`~(h=$)Sl-vyj3Fdz`X0_K1LKp;*q00aa9b#d9G5RPtcBxGZ1 z1xI)wn~;MMGMwc?I1wTc{8M28Bh=YM4D2M~=B8$j0CpG$fKAyEZmovwq47tG3*}%( zbaytrb4mb=9r3}*8Mywbfxzqtd&s#XvJP;>*nh(1|NWru1b?sekHdig>|6-f{5vH9 zy|e${k{17rK_fJA>?l;-y}gEVQevQxNdrq`mndxrzj$@H@j&8AUJUa9nQ!@cW+Jnt zc;1g#c$D>pNdP`GSrr2@HhE20geJh1V-qw3P{#2s0QC6HP&DUT)G&n74wxw8$h^Xt zQLLj|@ZgKZpDv$pJoC6cyxG3q_o>vzdW3})94AZYTNWABclzkGezAR2rH>xJpN<(X z&&$DXf208?Y!GLF9|m;HO4cO>gXa5xY@!DiI3)yo4yJ>$CPyF4) z4F zPxLafo$ZPU@K7LlY4~=(dZ>Nxi{7n3x4CKO&0)Yh{jslXfrE@Tb{v(a6t(LpwT9sr zL2v4mIc{SKBn~jo(r(fC>9Oqn3-ObK z1+Tuu`m40k(5gx?m}fv~%XQPE8A*!rLwlwQU;$GFN1gF1YOZ2UrcT0Isx3l{4Dymp z>N~M$BdRKk+O^7>CDJkhequb=_sD77__)VnsmupL1KfB>){F8xTjEzrHB{zWtH6~_ z&4SiB*Ph>pbyeaxWV#EVFm~UQ(8!nJQ9a zAv*ZJ+66cJJ50~vv5+duENt)17@{S697E+m&mJu{!OX+Gd!Zbvk);Ag)4}yeetp)t}TR(l_b|m7q zf|5;UVaX;}C!cFuePX6b)Vh2z|4l);o#-aR6 zd`f}u0@A0kQe*O%{X$^zz)v5@hp&y}fAfXJu*L$OEk330`*ck}+8Zpzdxpv{murj` z8yRy2;_syC{=|j3MU$WPI`*Xxc{X9cz`c}==ox$loH1$V=;sIf%3TZYYxtS`S0gFo zMe_Wdzap^YDFmEP`jRLo}U?= z|6XmqeSHQCN~?piGbhbPh8wbOI(}ntLXV6!jCJH3bxI_12>kf93Y7nWg~sUBi<`AN z$!n9Wg~|(}_8c<9?9BNO-hBKLBLK8KATf37kA$_!ieQ~eiJ6zLx%b}6UUDg=Ol*5#r@tIm17AVv-!KJWPttjj>H2l z*1Rc^t7a~5=V~yDWs6k|_`k;sOL$yfAo-bE`7P8TIi<8Eyh< zlJa(0(le0bjZJS79$1WV%feF}%CMD=LCD!0k_K)}Dr(%#ZeUn->dbot$?d%%pq0(v zs(SAX6LC6B;a&5~tw1~Gc7<>rm4pqhcuMvAV+ju1DG%UHxI{>Sl`0*S7xNn!uw`ow z{j2Bbu*u~5ct-R2Hg-Z=wy2|rGZ)_%_|W$JlJd5cY)qIeCzO5d75jrMl=@>DDz2|P zsk!z0UBb`gzo^!)Q|lV@lTDH+lrTL*6Nd&y&nD^T_L@vuABIHg7~v#_YrY$eehxDG zJSwU@J0Yn}HA19Lmit<%%E}Ig`ecDsBBIRzMp#PAO(^g*-l8Fjrxh|LfGgWVDnH{MMgqh)a4h`H7<2oi94Rn)k?$K z_(#q#&LLm({QPPAQtpDV#|oB$0RG^8z0K(qo(1k-1hG~rCQ|#t+MUDf7vmw|htaDGB9#dpu zkqe50gMC#^DxMlfo9K1hhF^w*BG$qN9zhB(jdh)wCUCu~cr7tLf-E%9B6?MLF$EOk zqCEuteWPD^^~15Pg0~z0#L!PW&LGMc;avezf+6fSCwWXZyuQ;0iXYN0*vAO{H`dV_yni~bxjm}+*wNf z%hR#e>R|e_#wf6lV>G7?O2>!yRLyy_BE+i)+F}0PlJVoKi@-2lQq->JpG3*2t$+jU zTVK;TBfUqY z3XLe~3#iR|k!&_cB-?dw;I#6Am{wfzEGaO3F_$$N`*;)kX~QCsRUs5&r-({ale8rz zv9GlyhlU+v^u{PB58eNhCO4r*{-zVhA|&vmVmrf-1-l%Wk&)4*B_V^o=>r*2`vWID zLP4Rph*JV~!nGfo?9{U*q=T{O$Vk?lV-pJ_gL~-55(1vU zDZoWUgSc;U@QzPJ-upwfOlWrF3x^+@17=>6Su@L>rsK^}?U&{`UhNm*6@M}r?|&UQ zVnI}^+~wWO*pZ$MRDJvNbDE8RF%vNcnWfg$GAO;uy?O)J=^o!Fk0s?NI;GNAfzuR0 z3oI%;R&TrTc7hepG9=LwdF2UagO{~UEO>+*yAJCWN5-7>WeTv-lGoTpg3g7X4<18P zSnwFbBYB9%Ml7>kh;$yD$XC*sx+gU4m0X%1uBDsIN~x>`j7I3CBuVDbtaln{oM>i) zUN#d}Sg<<@xuR)Q%G=kyPDLf%3{0D7+EW=~5zAS!g z0uKT{=yLgW31=AgAIZmy0?6;fbo-o3m`*Y*Ji0w!JyO?^RKPqTid*~jHfAFV* zr7;6&^Ho?hQrJkCYluQ3(+Pt%oGZ0-YG0%F(FgPS;?u+TTn2epUHy6If0s<0?Hr%; z`4)79!V*^DZjD@OVGGOaehHRLOiYs)2?din@JPcNE$dF6ny^r{N>)ZjrnFY|Y1ieT z*|!?X%DOXkt$8l{$M~5oBd_Y6i_LI+E=(zth@T{kU1=T$akQEJ(0w(lp;^N+W^Z_T zzL$6d%UQ$q$0Y>(%vubKctChiobqtg=Ht(C17YLd&fbzSd;GH5;RJ`!MH1rkdpu`p z91XXgUR!Gm{3m2*c|O(Oye}|aj8B>O*V=_>BMbQ--$H<(eB>-PKvzMb zEzC$G@1I@9tg=>Iaugq=wxHY&mDFX^@)*?YHo(c+R!YPPGO~ zSy@?4=t@3f&Sc}d?zr*V&zd`X2U=>LTy7rbYdZARZKizG#uTo9EbICEXfSK%zCgk> z?6mI9!BJ$$T-?GuH%S71b|VT`gT|Mm)tDVCYM~21uGQe$`jX!dcl$BZd~mYVhAvVV zJXam|&wjOCpXguvt=k4RrWVJv;tRUnW_|5Fr!cteAC+h^y}9_UoF(sdBXt@YKEIy( z;xMO3%gy@o@HqG_p3z>H=el8C&3QUShmo8y_W{mOhy7!RW#0!^e9~fWJ*g3%Zf>k{ z9Xim=dNzH%T66s=!6dcI%_8CD8K~aDZs^}$&Lj<`-cPSx;7maGIlge z#`c5Jzu+nsjYYBWMv22RgRj%PNqWp~7c2MI^|e|)n*SbnB(wX4%|iU|z|77wNET~^|9MdP6m}$1|EozEsU%h{5w_<(H?xBW z1{*q(Ek1{nEM4nrEG6=244&tXU;4=_KjmaZ6pEBRF6AoO%h_n`2bHe9Fuj&uX|urk zme}IC_46?sOJi1GB*SGGQ#}Ltc+VjQJ1d)As{8u8FipA#>(ZViOv`Pl$ZI9;{;-$($wtwz?)gf8%6yV|pI%6h z9x1t3anhuYXi65bcc4~kDK|ueZs^OD&T~au4GYZ})P=eV*PpNDy~i`zHO~)vt}xr5 zlrgo<2+@vO?Gm>~T?p4{)l{dG=CK#SmgG!THQ%S3ScXp$Bz{-*WVz0*gT)#{eV210K?tz@mI&^aO9owwd1OBu5N}tYF zSJkZR_8Fg6&o`&0HMf|iDR8}U)AMcW6}?M!k|vjZ-;itn-va1AC_Dd4_UfOvO%S&j zjGc@S_f1~j-0A>=okX zj;$>s?fEAOFJ)t53jqCfV@FC9kznUFLZrVzKsW?yf;=J+7|O-PVQ6S%0*4sGpeCGP fe%$|C<Jo*1+vUHMoS;E@q>ue)v&y0&acjTcMtr8 zWQ7rrI~ER(1I%A%*6!0xl@b!y^O{5H1CD_O7|>t~*IES&nB$0I-`L$dP+0xuBS!iB6>L$J3_aov+XxPZU6XC$ z#Mrr>x0$Ppa-JJ*R}s%f1q@-@b?;}iLYJplGtNrx$ra{bI4G4@2-7$#xJ*Vr%}8NU zc~50-EwazREEF@E9sbdw8Qt0-j0+czF#YqKkS)~Va{uj+HQnuzr>Y7wzePtl!WjTU z4yyyW)ZtEcE{-N}Cjj`jK*A2;j2w3Ype_lipaeIygo)d^0rY@K0Ym`82?Fqgxj6+u z2Dr$(`O_F`@?STq>S$-80e1%IAuUQu1GqHdZq5J$0GEWFjh&;0JD7Qf%eFnfK34dv60#}z2|BvJF za)bVN*ZPM$#kp!~Op*uoH}N$MkT3$6e^Pni0EV8)l3}U^$-Pm<2=HThDfx#qDKXn~ zQ_aulGJ%XHQlxlqeT~O)4vAE|TGb?_R%b)4arR3fM{`Nn-O%~T^_uZX^L@|pdNkE5 zU(7aV9rQQg3?0(F?N)t~`(HawF&+@16X>9SUNkeqlsS{c7`bW^N=(d`?W#Q4<9uV< zFwNeg%HlM3;~mM!C&7e;hATD7E9k{Sv5FC+QQ1iey21SNGnNe$zzrhLz{xCTT<$2d zImugl($Jd_&$5z11?{731gC~JsLmxZFJ^^eX6Pp{FPLY&#)da($|a$#p0W-PpM6k7 z1Ck~heOqVAun7W5ky7pj9b%x}jp-0*bR-Bl7qCc0bIUbf3C0YPGtMO*Pq19w=rOxE zsMI(&=6({>uC(~hO|k!H)xGyXiZ^9;aZ>2aP}@X{$lVf}-CgL|n#Fm`OYxIN8{7A28oPT?SrU+Wk2c>2MJ zMMW`2jkS||;iitvne3EV^L{q17$gzc&gr;dA5I_!`wM)UH$3)t<^X7ZZ)Az?#NFYP z#jq5`tPm5PK*JT|o68eHAc_(_A7IIU@c3on&xg)b^>+>4 zUZi6W0Kiz+=$?MW2^hmL{0X#AZzjv1(cG13`??_MM)m=l;`8*Pd@Z>!K}{RQBJ~e6 zc7LO`=)0mlckc{J>)fS2kQ9&5VL~Tnu#RNR#wd_ViXh0Qt_zcmbXd8A6_^1_ctGAo zxf}=$T{M0U8#9&%jwYBSJXfSx<257V@j3U+F&_PxtMjN>AN(L}Tw&`#>LrfRtj^5RQj7yxDHYUt~FOYkWLMy6;Qa>h#0-HA6G5 zH;p&ld^mkq%cBS!T}*3VLWVd1lMRz55!K!GyVriiZD2K@d=+QL03!DeePgzd? zqOl}-6e9=@$(TQI)w@KDY`06lAiLOTr$x-@kjB?y(Q5_k=C)>@voRw zV#ecLM)i6>Zh<$tr)IA-!1DCgd+Cm6RE4{LVPZILP?z5~Nd& zxiQKos)j_RKy=AvF95yjIu0+&|4*W@&iS$QFD481eXZEMu%$EP8Bs zp`w=EDCuZQp>3hc2+)ef3T8EFbvepe6xN^D@0!}5Vg$ZfxeDAWuMhI5y|6lN-xAu2 zrb?n}rlO?MqKXH1K`4_DNxey{N$cS5Dhpk_YE0c#-SuiiU~J;vH%&9<$`FB!lG5Eg zjzQt<*&?A5ll)2@^DO1czWWAIoO*m>HTpFguHq^RTsmAvWor8w!fI(HY1u6@EqdNx zJ`Vtyae}X3zq7#xrK1*)IzRRw` zvCU2oWrO~qV_UUVe$hVFkz{RP;@KTwwQN$^mpi*wT~fd?|FUJ*^I4KX`7C*Zazp_@L2eH@m{n@@rEvGw8iW#QeU z_(3tk@xXD=VX>CRF_P1iGt|hO4%?2|38BgB+RG<|3WSj| zA>A=~(d$(Gc!uxd%d{i4%W9%djrXng^Ms!Y2MLD>-*0}|T;$1h2D`?%et9u_H2!1# zV*FAClOMAfX9G7IQyTL*wlE$DhvW|z%=T9F)&^gCt|22P{Sk5u@hgd!{(?A=dj@0| zP7gTQ!Nn{)?zLKOUT&_K9L7?T5*-b);XOk=G9h8)3goWRy)vCrqcTcTucYFo6ykN* zp_MDrp}L`fTp@CLYO+^MFC7a`hh`N5mv@$Mm-je%^y4abrW~tR3%>T3Mi{k19UjwB z)6>oq-2~llD_B)5{b^L^x{5g--4J*gwchn)J?y~X41N`f8Shu&Hz*n3VGv{@S1Ly) zw~V18R=wa-VRY!TQVwc!_V5B0e6V$9B;r%bgW7$xqWahU}yh^KzIdd6!+84EN#A`oSl2#C3X?u@)FTEgU z5LXxT=9j+$u38~`)&wQ~W2O4jb;_;=t@Vq?&D-I&09)C~A77=vhQX=l5y5jKYUyg_ z%`Yq}_t(0_>%`R-n>hOP2y8lS$ZU3J%_>W*rsEk62ak=vE(I^CFwaD7&qF=6&u71# z`0Y03oa9`(F1)?0rswd2&@$XKyb6?G z(Ij7HB{Q10mA&Od6`r)#wDqcHH)X1Odc0-c)_WK|>`o`PFdZpPqj%4#s&$E&Z6|DI zvADf|J9DeP#oXJ-TXI+SAhKV^UnZx!E!<`F*~mCwK3@!PTUb=r$7P3ZyX%ExiC6cF zHdT4D>dr9v83YcNy3gqMQ|}2*x(9m}Za%tBJNY!A8?2i#HZvCVDVx{wmEx=U%{Rj- zw0*Q3BFQ(ee}$v5T_sxHJ zu3s2ja?PF8d#=8}NujT$RVE zg(4-_qi5r01x-J9(#K!)SH3e352%&kx`{n6Q)&OBzo7q#bd~g$Oo>c?=y~X@$H$+Y zKfZ>>4=?+-u>JaU8ar5&=H+_XWNzHs@xyv>J5fY_F27meV(i3r-E?DR*wu1BH!pau zs9EI1=Q`ukA$Hpin8({Sv86%yCBIhH-JmQ($on_qftyAx!&K{ zu)x2Tlz=(IZ0yW`lYFN?+5La$Gm26Fa}T$Kn@hvR*!ea#&~$Wx|K1$x8Ga9np*|8% z#O$5zkh?|6B;igbj+V&2BQ7^896-hgns!58yF zJ756-m$s#;vjysrAP`;vgclhAKm>3hAP4}$!wuj8@c=+P0!SGM`O6Ie0eJvCK%|@p z4B&?##{_r)5D*^#0tVi;|9&91w*Pv-Kchz;5YpoR7GC~61~7>FYK06brA{w!Ii{t` zZPszRRMjyIe~Qg|z2OM+O^@^6VZSVE@o~YRpAfmv$rAt-ewwHrfHY*BJ$SLXqxE@uAkIsknGe=0u1aunhzzuNja>rV2s-{*3G|T)x^y)8Vp>vGE!HtQ+z12|Lb|Z(J1UB<-Y&2DW=g2Y zA0vClDF_Puq&;IAWCypWG=Pb=L@z)Ol=q(v#6RHvh5TbpnOb|~e8boF;LN9k&|^E> z^4~AUt$+M=BfmZCpC0tvqm*H`$O!JgJk17Xj*3TbT~7Qq_T+#7fdCE=9|XY7%?|=_ z1G#|)xLk5bpSLs-LzvsZkb*Q`*yne@=N^gCeRy$nb@Hwgv~jvNi0 zf~`#TZ35{?Bc>M)eVRh}uuQ1OOrz;&%>AvGC$=jz-iPt&O@4oF zE3kbSWxA}nVKP$_7TS5wqf7U*&)^2JgvdE&c@@{wsiLD-Us)SP=Bx(1nA#aEiZ!gUaHtu?$Sz z#weOJ7Q)wQ@1;It5JBonHbXk?EBDbwt7)R*F&l50abQLJ}Cgr&K zp0If+#A!OSbAB(}=)r*uIq=e&b515e2AcC{hSxY1%uQy(=t?0*yA8{pl|PYG6oEUDPjPl|%DhBfJ~=89%0$1d;XT=qo-a zUQp~}4>FlT**OmzdMol&So$OyXGq+mmjNVx(aIgVjSiCZQqIgy>5zNEf6?n;FCvZw zG{G2m_)Hjmm-21)vgxz6z(hY*ei_k}H$S5lNmlK!z<1B{7%K5WuK>)-Nj-=moL>j3 z*EMP0dsm4vxpcywTN%A}LT-m02PQJ%G^zZ~KSW=@zL{tqj9koU_4(C2m#X6m9;&W! zQjuvOnQJO4sm>{ISbx7u2p$=?Eh>Ss)$g#K>$kzmqKZ6r|2SuYxxUz7?O6va#G1in zZOv8NG6OvEzb|f;7^bNld=cizPP`gLa;p4~?!Fkr3I26Ng9D6w;Of8}D@dCe`tSur zHZNW+DAX(z+*}AL9>w%AC#5Zg10T59PYbQoyH~JVW~*tvB9Z(dq1cnWF!5RcH~~Y2 z6uM3DMOa`4PYs9K;X?PJ)&qfcnGc$H_(P!~&dZ^@apwFcBXncgvS}6gGk&MmI~Iuy z%!kCDG=td*OqS#=GqVq#ds0zEHet=sNO#ocYajOt%c+?~?XRdKCb6M{1&Td0&Kisz zN;Or1cC`a~d3x>R?(fTj(=`u8@#Z7$;&8J+exxoJ86%a6X1P!f8h58&KApQu4C>8i z33y?D&k*>b50gg5n5Xf*6L+)Z8#dgGvMw{lr_5lkR?H7d-AY?CPw)}cteo=h(LXji zLi5Y%GyVMUO@3$4V`W}h(Qq&RL&^YqP3cFj{ff(@_%H7FBX9`cq%N}DXJgpMXOWX> z>Q(ZMUSeSwc(IHFZ%`ltZ@sTsG;yl(aXyOUC8OFLJ*EU>f8pXg zO&kiSrbfg4Wrbr|;;-8l!?z^WcS#Dj78Cx?$;N)_0cVbk%-AbauGQDVw<05Oot&-&%9FFei!q?C^V9Q(C(SNZIfMvJ3TcBzs8Tb!C#yZAr`) zVad(a$CB?}g<8ptiVx~w(v0GoaP|b^SXI-+dJG6Ia59cF4u8)`v9h!!Eb61Hlacn5 zV1VG(G^r~d6v~H6(X4$2t4G*152u8#bqv!jgdZ=09!BoHn<;r{;W8Jp-9j;lUE1K_ zD5QmLvRyD*TXgK`Ldd^CxjTqy`axx@^}Uov0Jx(0;8h~P*hj7{3A9*f{qQ?Au1_BT zjbF3mW_#f?hRz*ORO^aS)_SlR?!Y&^%PNL4-pqm5gV4+=)0%8~&N}g2ia7J?^f760 zWy|yAP^m?14-!YhcOHOjdp<`>3~R=%*IlqAw(@kj>A>n11t#6ckmzl(f)cSZ-iza6Ziceu z>+sSu=0mbtCG$qTvF~IXQR8iW<7FX>g9KJf7sk*%fB6DPH*&TEBHF}o_`X5Efvdwx zC0N-)u!zra-01u%`(WaW&hWtc_+WwI9TUYn0o4Ze*2YGIO7$J+d%dc*E0xqZ9d*p@s_D;DgypLlG&69 zX*AI~cXB*JH)dsFxRwD*w+SIDPLiNB9ucGJywZS?Qr5($x zJEMTh;ti8`XjDnr)tDcHfb)Ijl<3*~whZ7WbySHXfWT1nUPh|O8i$|as=9}~Vc506 zsIq0+UY7VlymNKsu&oeWA+FEbj&Tiq$`BSuCr6!AfG0^M%bO@oozq)-UyOR?dXIhdiX4p72^4|gIT)?yT!&ZR1(^=9qMHey6W``cZxm9CbFnjp+2cM#VFYv%K-1q}iH zCw#9ZY?MFmOBd4eeuiOv3MjZFU_w`*!@kSeaX>3nO$(@BID2Mc5irXaCFhGqHRG{C zWYlBgj);K5RAJ6@i|M{<_(BgC3N!N5dB^sM^*^C~2!E4))=HimgR`qpS zf=#SIBuqpd8T83)HZgu+mg`0?6r;aIr`+^SCM(>EIOdSb-Mzu06UBK|%Y<8hG)_Dv z$KF&prQVWg+z>AktCZduuBB{HtHCBMFi`}SA@lTV#js+lA}ndWNPQiiOI_hBq&!ni z3nJy{Y~btd1fSdm=K_{YiWAkk&TEf9MvZmOhS=h#`H@f+oD$uO?^;9G|%27S5fT zle9U^J%?r*-(ky`{BxWU+Fwh)gU;gZ7G0y?`l?g$@JN5EjEIUZS+MW9R+K&>LbLZR z1-@-?TxM^2@4Y~S84_S^KDLIK*68^LPhGS&wJs6nMVA@Z(G+aB?Q;C6RYbCDO>;EZ zE61f*<~5jfiu0V6j=a!RDe5Gh83USJl>hjXhF0#rW<%RWY*g)){)MS%n(;kDJI=Ym zy*J8={xUqh<4&8~L%yGukEWIeq(=*nwyGxhtg@h8E(1@VCAbEuGj3lfp-U9h%h+~b zW~k`NlTp7!Q~a7^kPJN(toFORzgV}3HmJw|GJV|TjL4Tuy8IxBIM;LR1;2B; zTe}~vaOKXJ_&#D?@q4-vlOJJppu^aGUsvwN{e|@o?UL6so@b1$8L@d4`=-jq%rB$F zhs0cnsGE}$<*4|78c{S8U->C4zjRb_vU9rmOmUcU<#a`O-tXTjPWNlepBtFOTKOZj zj*euwmr-35S3;nuGUo%?nqah$$pFH!ZjAlAUe&whA3m^SU_mHQ#k&M^Ma__*v=?HmLM-5~H3JlkjO%ffRn8Vh8Sc{slMUXze{t zf>HzRCP7i!zG?ezDYur;e&?@G*yG5ga;W7Ml&^ditrDP7B!FDbY%p{ z$VhPM6p);p@*fM*->@PU=qYzM6%ZZ$JMdL~wQ0-ye^6P^;%l+#U9xlu&3VFqc1U9gptU z#^^#D*U~JP^J-i^D!85MgX&44tzN_w+d4GG9LK?>c?oSVUXj_{zp@so~jL z)*;R{owQ^HctyUlTSHE;8+|uKA5V-8cP{AeXzDJf;oY~d<_Pve+P#NHpE)@$JoDH7 z#R|XvIvv=*R+hAt^7M#9jTYp|bsQ)F~-Wg}GM z;AnsI*1l!Ee=YNM0MPU2gh^_Fx8UhcNiUa(f>G?yv9T#|?8fGPnWBh0fi-}Eh7drK z*g-A7%mc!#VNSK`&f|Mlgku_*3{TQm*RSxxGt&Pcry+8m@3bMFi>uDAv8l#@t`(=lffL(c?H`A-2;M>^JjygF< z&5mKexTzEybru=c=8%-akJ0;FDNXgxG6px3>6Vv6w9{C9rBL-qH1)HytFG1>!(`77 z^BN8N%@bXdv^GSuZtPXznZ$fL%vXNUSX#%vX%ig@TNvlBQd(6#`{SRTd8O>rhI|)_ z=o&vM#`n~-&DY~u7+(i8Gn0%Hl0Re%&AunTW3VZDUJcge zc?t5KEayqHeEq^AgB2bhN9Rg=z0(#_^PaZhc*(#2y|Rk|C6zk|m8Y%ghCIbC-;cmF zaxWj@WJ<^E2M43k3kbW3L%rfXh571Yk1bW{m$S`ga%X3w*cZ*T`Crm(bD}JyT@sqZ zkHw{-Lqjxd63+vf_Xf2e>yWbNQj+DQbSYI9CNOJAldFeZ<^^HnaT$3Xf91l9%?Nm8 z+<5dYFD*5(X_i<>f>|W~%5`zQtvf=|1QDK>3>a%xE%T_315}2dycl_M>N@|-+XcGa z=h;uH-(p9@*4xGliZAN$X8P|z$w3yd3SD_2=IwK`PAHv<8CJjEHet8Qu?ipk zOyjxe*BO7pIzq1_jlI$Bt(lv?>!Z~WrZy0m>ZE4h0Al+$zISEw|e) z8!ndwvZ}|~(hebsD&k<3dzxM*>0sYGczW_3M z{y%e_9bw2crsHkxm4>AU9C=pADj+*MWZv|5LSGJHW(VN@v-(F)5}B+QWDO%u*`Sxc?9K CB0}8& literal 0 HcmV?d00001 diff --git a/fixtures/workExp_information.pdf b/fixtures/workExp_information.pdf new file mode 100644 index 0000000000000000000000000000000000000000..490fda3fa7fee375963e2cdf9f43ad98ccc32573 GIT binary patch literal 9932 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 P@e1)_F)_)i%3=K .Questions_slide__-Yhoj > #questionItem >' + + '.Question_answers__xra74 > #answer > #checkmark > .Checkmark_checkmark__58fWm').click(); + await this.page.getByRole('button', { name: 'Завершить тест' }).click(); + await this.page.getByRole('button', { name: 'К тестам' }).click(); + } + +//Портфолио + async openPortfolioPage() { + await this.page.getByRole('main').getByRole('listitem').filter({ hasText: 'Портфолио' }).click(); + } + //Достижения + async clickAchievementButton() { + await this.page.locator('button').filter({ hasText: /^\+ Добавить$/ }).click(); + } + async fillAchievementInfo() { + await this.page.getByRole('textbox', { name: 'Полное название' }).fill('Тестовое достижение'); + await this.page.getByRole('textbox', { name: 'Не выбран' }).click(); + await this.page.locator('#modal-main').getByText('2026', { exact: true }).first().click(); + } + async uploadAchievement(filePath: string) { + const [fileChooser] = await Promise.all([ + this.page.waitForEvent('filechooser'), + await this.page.getByText('Загрузите сертификат').click() + ]); + await fileChooser.setFiles(filePath); + } + async clickAchievementSaveButton() { + await this.page.getByTestId('btn-save').click(); + } + + //Образование + async clickEducationButton() { + await this.page.locator('section').filter({ hasText: 'Образование' }).getByRole('button').click(); + } + async fillEducationInfo() { + await this.page.getByRole('textbox', { name: 'Учебное заведение' }).fill('Тестовое заведение'); + await this.page.getByRole('textbox', { name: 'Название специальности' }).fill('Тестовая специальность'); + await this.page.locator('#yearStart').click(); + await this.page.getByText('2020').click(); + await this.page.locator('.Checkmark_checkmark__58fWm').click(); + await this.page.locator('#yearEnd').click(); + await this.page.locator('#scroll').getByText('2026').click(); + await this.page.getByRole('textbox', { name: 'Очное' }).click(); + await this.page.getByText('Очная', { exact: true }).click(); + await this.page.getByRole('textbox', { name: 'Бюджет' }).click(); + await this.page.getByText('Бюджет', { exact: true }).click(); + await this.page.locator('#educationLevel').click(); + await this.page.getByText('Бакалавриат').click(); + } + async uploadEducation(filePath: string) { + const [fileChooser] = await Promise.all([ + this.page.waitForEvent('filechooser'), + await this.page.getByText('Загрузите документ об образовании').click() + ]); + await fileChooser.setFiles(filePath); + } + async clickEducationSaveButton() { + await this.page.getByRole('button', { name: 'Сохранить' }).click(); + } + + //Опыт работы + async clickWorkExpButton() { + await this.page.locator('section').filter({ hasText: 'Опыт работы + Добавить' }).getByRole('button').click(); + } + async fillWorkExpInfo() { + await this.page.getByRole('textbox', { name: 'Полное название' }).fill('Тестовое название компании'); + await this.page.getByRole('textbox', { name: 'Название должности' }).fill('Тестовая должность'); + await this.page.getByRole('textbox', { name: 'Не выбрано' }).click(); + await this.page.getByRole('textbox', { name: 'Не выбрано' }).fill('программист'); + await this.page.getByRole('heading', { name: 'Связь, информационные и коммуникационные технологии' }).click(); + await this.page.getByText('Программист', { exact: true }).click(); + await this.page.getByRole('textbox', { name: 'Описание' }).fill('Тестовое описание опыта работы'); + await this.page.getByRole('textbox', { name: '01.01.1999' }).fill('01.01.2020'); + } + async uploadWorkExp(filePath: string) { + const [fileChooser] = await Promise.all([ + this.page.waitForEvent('filechooser'), + await this.page.getByText('Загрузить подтверждающий документ').click() + ]); + await fileChooser.setFiles(filePath); + } + async clickWorkExpSaveButton() { + await this.page.getByRole('button', { name: 'Сохранить' }).click(); + } + + //Дополнительные ссылки + async clickAdditionalLinksButton() { + await this.page.getByTestId('btn-pensil').click(); + await this.page.getByRole('button', { name: 'plusIcon Добавить' }).click(); + } + async fillAdditionalLinksInfo() { + await this.page.getByRole('textbox', { name: 'Название' }).fill('Тестовая платформа'); + await this.page.getByRole('textbox', { name: 'Вставьте ссылку' }).fill('https://github.com/vsmykov'); + } + async clickAdditionalLinksSaveButton() { + await this.page.getByRole('button', { name: 'Сохранить' }).click(); + } +} \ No newline at end of file diff --git a/temp/user.json b/temp/user.json index 473c7aa..a034c18 100644 --- a/temp/user.json +++ b/temp/user.json @@ -1 +1 @@ -{"email":"testuser1770382880998@virgilian.com","password":"!Test123456","login":"user_9im58j","mailToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3NzAzODI4ODEsInJvbGVzIjpbIlJPTEVfVVNFUiJdLCJhZGRyZXNzIjoidGVzdHVzZXIxNzcwMzgyODgwOTk4QHZpcmdpbGlhbi5jb20iLCJpZCI6IjY5ODVlNjIxNTMzYjdmZmY5YjBkZWZhOCIsIm1lcmN1cmUiOnsic3Vic2NyaWJlIjpbIi9hY2NvdW50cy82OTg1ZTYyMTUzM2I3ZmZmOWIwZGVmYTgiXX19.mO_8aGsS6FxHX53EzTXbnm063zSeKfaqR79Ls280VY54rE2Hhb32RtoD8ECYynRAeJZJekXzGZnD0ciBSFz3zA"} \ No newline at end of file +{"email":"testuser1770898568523@dollicons.com","password":"!Test123456","login":"user_vwqo3m","mailToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3NzA4OTg1NjksInJvbGVzIjpbIlJPTEVfVVNFUiJdLCJhZGRyZXNzIjoidGVzdHVzZXIxNzcwODk4NTY4NTIzQGRvbGxpY29ucy5jb20iLCJpZCI6IjY5OGRjNDg5MDNlZTQ5OWNkYjBhZDY3NCIsIm1lcmN1cmUiOnsic3Vic2NyaWJlIjpbIi9hY2NvdW50cy82OThkYzQ4OTAzZWU0OTljZGIwYWQ2NzQiXX19._iJUK5fg6n4nuG16K1yKqheaNd7ItjXctNAyu7F-kLHIaluoFU73dItBWgszKoZgrbD5gc1GBG3YK5V-5ds-qQ"} \ No newline at end of file diff --git a/tests/ui/account/profile-applicant.spec.ts b/tests/ui/account/profile-applicant.spec.ts index 5990726..024422e 100644 --- a/tests/ui/account/profile-applicant.spec.ts +++ b/tests/ui/account/profile-applicant.spec.ts @@ -4,40 +4,90 @@ import path from 'path'; import { LoginPage } from '../../../page-objects/LoginPage'; import { ProfileApplicantPage } from '../../../page-objects/UsersAccount/ProfileApplicantPage'; -test('UI: Личный кабинет абитуриента — заполнение профиля', async ({ page }) => { - const user = JSON.parse(fs.readFileSync('temp/user.json', 'utf-8')); - const loginPage = new LoginPage(page); - const profilePage = new ProfileApplicantPage(page); +test.describe('UI: Личный кабинет абитуриента', () => { + test.beforeEach(async ({ page }) => { + const user = JSON.parse(fs.readFileSync('temp/user.json', 'utf-8')); + const loginPage = new LoginPage(page); + const profilePage = new ProfileApplicantPage(page); - // Авторизация - await loginPage.goto(); - await loginPage.fillLogin(user.login); - await loginPage.fillPassword(user.password); - await loginPage.submit(); - await expect(page).toHaveURL(/.*\/account\/profile/); + await loginPage.goto(); + await loginPage.fillLogin(user.login); + await loginPage.fillPassword(user.password); + await loginPage.submit(); + await expect(page).toHaveURL(/.*\/account\/profile/); - // Открытие редактирования базовой информации - await profilePage.goto(); - await profilePage.openBasicInfoEditor(); - await profilePage.uploadAvatar(path.resolve('fixtures', 'avatar.png')); // добавь этот файл в проект - await profilePage.fillCity('Таганрог'); - await profilePage.saveBasicInfo(); + await profilePage.goto(); + }); - // Редактирование представителя - await profilePage.openRepresentativeEditor(); - await profilePage.fillRepresentative( - 'Мать', - 'Иванова Мария Петровна', - '+7 (900) 123-45-67' -); - await profilePage.saveRepresentative(); + test('UI: Личный кабинет абитуриента — заполнение профиля', async ({ page }) => { + const loginPage = new LoginPage(page); + const profilePage = new ProfileApplicantPage(page); + await profilePage.openBasicInfoEditor(); + await profilePage.uploadAvatar(path.resolve('fixtures', 'avatar.png')); + await profilePage.fillCity('Таганрог'); + await profilePage.saveBasicInfo(); + await profilePage.openRepresentativeEditor(); + await profilePage.fillRepresentative( + 'Мать', + 'Иванова Мария Петровна', + '+7 (900) 123-45-67' + ); + await profilePage.saveRepresentative(); + await profilePage.openDisabilityEditor(); + await profilePage.selectDisability('Нарушение слуха'); + await profilePage.selectDisabilityGroup('I группа'); + await profilePage.saveDisabilityInfo(); - // Редактирование инвалидности - await profilePage.openDisabilityEditor(); - await profilePage.selectDisability('Нарушение слуха'); - await profilePage.selectDisabilityGroup('I группа'); - await profilePage.saveDisabilityInfo(); + await expect(page).toHaveURL(/.*\/account\/profile/); + }); + + test('UI: Личный кабинет абитуриента — прохождение теста', async ({ page }) => { + const loginPage = new LoginPage(page); + const profilePage = new ProfileApplicantPage(page); + await profilePage.openTestsPage(); + await expect(page.getByRole('button', { name: 'Посмотреть результаты' })).toBeVisible(); + + }); + + test('UI: Личный кабинет абитуриента — заполнение портфолио', async ({ page }) => { + const loginPage = new LoginPage(page); + const profilePage = new ProfileApplicantPage(page); + + //Достижения + await profilePage.openPortfolioPage(); + await profilePage.clickAchievementButton(); + await profilePage.fillAchievementInfo(); + await profilePage.uploadAchievement(path.resolve('fixtures', 'achievement_information.pdf')); + await profilePage.clickAchievementSaveButton(); + + await expect(page.getByRole('heading', { name: 'Тестовое достижение' })).toBeVisible(); + await expect(page.getByText('2026', { exact: true })).toBeVisible(); + await expect(page.getByRole('link', { name: 'achievement_information.pdf' })).toBeVisible(); + + //Образование + await profilePage.clickEducationButton(); + await profilePage.fillEducationInfo(); + await profilePage.uploadEducation(path.resolve('fixtures', 'education_information.pdf')); + await profilePage.clickEducationSaveButton(); + + await expect(page.getByRole('heading', { name: 'Тестовое заведение' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Тестовая специальность' })).toBeVisible(); + await expect(page.getByText('- 2026')).toBeVisible(); + await expect(page.getByText('Форма обучения: Очная')).toBeVisible(); + await expect(page.getByText('Основа обучения: Бюджет')).toBeVisible(); + await expect(page.getByText('Уровень образования: Бакалавриат')).toBeVisible(); + + //Опыт работы + await profilePage.clickWorkExpButton(); + await profilePage.fillWorkExpInfo(); + await profilePage.uploadWorkExp(path.resolve('fixtures', 'workExp_information.pdf')); + await profilePage.clickWorkExpSaveButton(); + + //Дополнительные ссылки + await profilePage.clickAdditionalLinksButton(); + await profilePage.fillAdditionalLinksInfo(); + await profilePage.clickAdditionalLinksSaveButton(); + }) + +}) - // Проверка, что остались на профиле - await expect(page).toHaveURL(/.*\/account\/profile/); -});