{"id":640,"date":"2025-07-07T02:51:06","date_gmt":"2025-07-07T02:51:06","guid":{"rendered":"https:\/\/docs.quantri.online\/?docs=developer-guide\/test-case\/lbm_hr_leaves_employees-nghi-phep"},"modified":"2025-12-08T09:25:02","modified_gmt":"2025-12-08T09:25:02","slug":"lbm_hr_leaves_employees-nghi-phep","status":"publish","type":"docs","link":"https:\/\/docs.quantri.online\/?docs=developer-guide\/test-case\/lbm_hr_leaves_employees-nghi-phep","title":{"rendered":"BM_LeaveAbsence- Ngh\u1ec9 ph\u00e9p"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>I. M\u1ee5c ti\u00eau test<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ea3m b\u1ea3o&nbsp;<strong>\u0111\u1ea7y \u0111\u1ee7 nghi\u1ec7p v\u1ee5<\/strong>&nbsp;qu\u1ea3n l\u00fd ngh\u1ec9 ph\u00e9p: t\u1ea1o m\u1edbi, s\u1eeda, x\u00f3a, t\u00ecm ki\u1ebfm,&#8230;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>II. Danh s\u00e1ch test case chi ti\u1ebft<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>1.  T\u1ea1o phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng cho ph\u00e9p&nbsp;<strong>t\u1ea1o m\u1edbi m\u1ed9t phi\u1ebfu ngh\u1ec9 ph\u00e9p<\/strong>&nbsp;khi nh\u1eadp \u0111\u1ea7y \u0111\u1ee7 c\u00e1c tr\u01b0\u1eddng, h\u1ee3p l\u1ec7 t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng b\u1eaft bu\u1ed9c.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_01<\/td><td>BM_LEAVEABSENCE_001<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o 1 phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;T\u1ea1o ngh\u1ec9 ph\u00e9p&#8221; =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin c\u1ea7n thi\u1ebft =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221; <\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Nh\u00e2n vi\u00ean ngh\u1ec9 ph\u00e9p: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t<br>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: Ph\u00e9p n\u0103m<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u: 16\/07\/2025<br>S\u1ed1 ng\u00e0y ngh\u1ec9: 1<br>L\u00fd do: Kh\u00e1m b\u1ec7nh<br>\u0110\u00ednh k\u00e8m: S\u1ed4 KH\u00c1M B\u1ec6NH.PDF<br>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: Ngh\u1ec9 \u1ed1m (kh\u00f4ng l\u01b0\u01a1ng)<br>Ng\u00e0y k\u1ebft th\u00fac 16\/07\/2025<br>Ghi ch\u00fa: test<br>N\u1ebfu ngh\u1ec9 n\u1eeda bu\u1ed5i:<br>Ng\u00e0y ngh\u1ec9: 16-07-2025<br>Lo\u1ea1i: Ngh\u1ec9 ph\u00e9p s\u00e1ng<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 ph\u00e9p \u0111\u01b0\u1ee3c t\u1ea1o th\u00e0nh c\u00f4ng, ch\u1edd thao t\u00e1c ph\u00ea duy\u1ec7t.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ed7i: ch\u01b0a add v\u00e0 hi\u1ec3n th\u1ecb \u0111\u01b0\u1ee3c file \u0111\u00ednh k\u00e8m<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>2. T\u1ea1o \/ S\u1eeda phi\u1ebfu ngh\u1ec9 ph\u00e9p kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_02<\/td><td>TC_LEAVE_ABSENECE_002<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o \/ S\u1eeda 1 phi\u1ebfu ngh\u1ec9 ph\u00e9p kh\u00f4ng h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed r\u00e0ng bu\u1ed9c (Validation and Constraint)<br>Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;T\u1ea1o ngh\u1ec9 ph\u00e9p&#8221; =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7 =&gt; &#8220;L\u01b0u&#8221;<br><br>Trong &#8220;D\/s ngh\u1ec9 ph\u00e9p&#8221; ch\u1ecdn phi\u1ebfu c\u1ea7n thay \u0111\u1ed5i =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7 =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Nh\u00e2n vi\u00ean ngh\u1ec9 ph\u00e9p: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t =&gt; Testcase<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u: l\u1edbn h\u01a1n gi\u00e1 tr\u1ecb &#8220;Ng\u00e0y k\u1ebft th\u00fac&#8221;<br>Ng\u00e0y k\u1ebft th\u00fac: b\u00e9 h\u01a1n gi\u00e1 tr\u1ecb &#8220;Ng\u00e0y b\u1eaft \u0111\u1ea7u&#8221;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 ph\u00e9p kh\u00f4ng \u0111\u01b0\u1ee3c t\u1ea1o \/ s\u1eeda th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ed7i: ch\u01b0a add v\u00e0 hi\u1ec3n th\u1ecb \u0111\u01b0\u1ee3c file \u0111\u00ednh k\u00e8m<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>3. S\u1eeda th\u00f4ng tin phi\u1ebfu ngh\u1ec9 ph\u00e9p<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ea3m b\u1ea3o phi\u1ebfu \u0111\u00e3 t\u1ed3n t\u1ea1i trong danh s\u00e1ch phi\u1ebfu<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_03<\/td><td>TC_LEAVE_ABSENECE_003<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Ch\u1ec9nh s\u1eeda th\u00f4ng tin phi\u1ebfu ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Truy c\u1eadp &#8220;HCNS&#8221; =&gt; ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; =&gt; ch\u1ecdn &#8220;D\/s ngh\u1ec9 ph\u00e9p&#8221; \u1edf sidebarmenu b\u00ean tr\u00e1i =&gt; ch\u1ecdn phi\u1ebfu c\u1ea7n thay \u0111\u1ed5i =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7 =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221; =&gt; quan s\u00e1t k\u1ebft qu\u1ea3 sau khi b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Ngh\u1ec9 ph\u00e9p cho: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t -LTD009 =&gt; Ho\u00e0ng Thi\u1ec7n Ph\u00fa &#8211; HTP002<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u: 16\/07\/2025 =&gt; 17\/07\/2025<br>L\u00fd do: Kh\u00e1m b\u1ec7nh =&gt; Ngh\u1ec9 d\u01b0\u1ee1ng s\u1ee9c<br>Lo\u1ea1i ph\u00e9p : Ph\u00e9p n\u0103m =&gt; Ngh\u1ec9 d\u01b0\u1ee1ng s\u1ee9c<br>Ng\u00e0y k\u1ebft th\u00fac: 16\/07\/2025 =&gt; 17\/07\/2025<br>Ghi ch\u00fa: test =&gt; test2<br>Tr\u1ea1ng th\u00e1i: 3 tr\u1ea1ng th\u00e1i ng\u1eabu nhi\u00ean (quan s\u00e1t chi ti\u1ebft c\u1ee7a phi\u1ebfu tr\u01b0\u1edbc khi thay \u0111\u1ed5i sang tr\u1ea1ng th\u00e1i kh\u00e1c)<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 ph\u00e9p \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt v\u1edbi c\u00e1i th\u00f4ng tin t\u01b0\u01a1ng \u1ee9ng th\u00e0nh c\u00f4ng.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>4. Xo\u00e1 phi\u1ebfu ngh\u1ec9 ph\u00e9p<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n \u0111\u01b0\u1ee3c xo\u00e1 \u0111i phi\u1ebfu (th\u01b0\u1eddng l\u00e0 admin)<\/li>\n\n\n\n<li>Phi\u1ebfu ph\u1ea3i t\u1ed3n t\u1ea1i trong danh s\u00e1ch phi\u1ebfu<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_04<\/td><td>TC_LEAVE_ABSENCE_004<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Xo\u00e1 phi\u1ebfu ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn phi\u1ebfu c\u1ea7n xo\u00e1 =&gt; b\u1ea5m n\u00fat &#8220;H\u00e0nh \u0111\u1ed9ng&#8221; =&gt; b\u1ea5m n\u00fat &#8220;Xo\u00e1&#8221; <\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>&lt;Tr\u1ed1ng&gt;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu \u0111\u01b0\u1ee3c ch\u1ecdn \u0111\u01b0\u1ee3c xo\u00e1 kh\u1ecfi danh s\u00e1ch th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>5. T\u1ea1o ng\u00e0y ngh\u1ec9 t\u1ebft<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_05<\/td><td>TC_LEAVE_ABSENCE_005<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o phi\u1ebfu ngh\u1ec9 ph\u00e9p t\u1ebft th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;T\u1ea1o ngh\u1ec9 T\u1ebft&#8221; \u1edf sidebarmenu b\u00ean tr\u00e1i =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221; <\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Nh\u00e2n vi\u00ean ngh\u1ec9 ph\u00e9p: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t<br>N\u0103m ngh\u1ec9 ph\u00e9p t\u1ebft: 2025<br>T\u1ec9nh th\u00e0nh v\u1ec1 ngh\u1ec9 t\u1ebft: \u0110\u00e0 N\u1eb5ng<br>S\u1ed1 ng\u00e0y ngh\u1ec9: 2<br>S\u1ed1 ng\u00e0y ngo\u00e0i ti\u00eau chu\u1ea9n: 2<br>S\u1ed1 ng\u00e0y ngh\u1ec9 tr\u01b0\u1edbc t\u1ebft: 1<br>S\u1ed1 ng\u00e0y ngh\u1ec9 sau t\u1ebft: 1<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u tr\u01b0\u1edbc t\u1ebft: 16-07-2025<br>Ng\u00e0y k\u1ebft th\u00fac tr\u01b0\u1edbc t\u1ebft: 17-07-2025<br>Ghi ch\u00fa: test<br>Ng\u00e0y k\u1ebft th\u00fac sau t\u1ebft: 19-07-2025<br>Ng\u00e0y k\u1ebft th\u00fac sau t\u1ebft: 20-07-2025<br>Ghi ch\u00fa t\u1ebft: test<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 t\u1ebft t\u1ea1o th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ed7i: Ch\u01b0a ghi Ti\u1ebfng Vi\u1ec7t t\u1ea1i \u00f4 &#8220;T\u1ec9nh th\u00e0nh v\u1ec1 ngh\u1ec9 t\u1ebft&#8221; \u0111\u01b0\u1ee3c<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>7. T\u1ea1o ng\u00e0y ngh\u1ec9 t\u1ebft kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_07<\/td><td>TC_LEAVE_007<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o phi\u1ebfu ngh\u1ec9 ph\u00e9p t\u1ebft kh\u00f4ng th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed r\u00e0ng bu\u1ed9c (Validate and Constraint)<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;T\u1ea1o ngh\u1ec9 T\u1ebft&#8221; =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7 =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>C\u00e1c \u00f4 r\u00e0ng bu\u1ed9c: &lt;Tr\u1ed1ng&gt;<br>C\u00e1c \u00f4 ng\u00e0y: 31-2-2025 \/ abc<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 t\u1ebft t\u1ea1o kh\u00f4ng th\u00e0nh c\u00f4ng v\u00e0 tr\u1ea3 v\u1ec1 l\u1ed7i t\u01b0\u01a1ng \u1ee9ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>8. Ch\u1ec9nh s\u1eeda phi\u1ebfu t\u1ea1o ngh\u1ec9 t\u1ebft<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_08<\/td><td>TC_LEAVE_ABSENCE_008<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Ch\u1ec9nh s\u1eeda phi\u1ebfu ngh\u1ec9 t\u1ebft th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Trong &#8220;D\/s ngh\u1ec9 ph\u00e9p =&gt; ch\u1ecdn phi\u1ebfu ngh\u1ec9 t\u1ebft c\u1ea7n thay \u0111\u1ed5i =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin c\u1ea7n thay \u0111\u1ed5i =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Nh\u00e2n vi\u00ean ngh\u1ec9 ph\u00e9p: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t =&gt; Ho\u00e0ng Thi\u1ec7n Ph\u00fa<br>N\u0103m ngh\u1ec9 ph\u00e9p t\u1ebft: 2025 =&gt; 2026<br>T\u1ec9nh th\u00e0nh v\u1ec1 ngh\u1ec9 t\u1ebft: \u0110\u00e0 N\u1eb5ng =&gt; Qu\u1ea3ng Ng\u00e3i<br>S\u1ed1 ng\u00e0y ngh\u1ec9: 2 =&gt; 1<br>S\u1ed1 ng\u00e0y ngo\u00e0i ti\u00eau chu\u1ea9n: 2<br>S\u1ed1 ng\u00e0y ngh\u1ec9 tr\u01b0\u1edbc t\u1ebft: 2 =&gt; 1<br>S\u1ed1 ng\u00e0y ngh\u1ec9 sau t\u1ebft: 1 =&gt; 0 <br>Ng\u00e0y b\u1eaft \u0111\u1ea7u tr\u01b0\u1edbc t\u1ebft: 16-07-2025 =&gt; 17-07-2025<br>Ng\u00e0y k\u1ebft th\u00fac tr\u01b0\u1edbc t\u1ebft: 17-07-2025 =&gt; 18-07-2025<br>Ghi ch\u00fa: test =&gt; test2<br>Ng\u00e0y k\u1ebft th\u00fac sau t\u1ebft: 19-07-2025 =&gt; 20-07-2025<br>Ng\u00e0y k\u1ebft th\u00fac sau t\u1ebft: 20-07-2025 =&gt; 21-07-2025<br>Ghi ch\u00fa t\u1ebft: test =&gt; test2<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 t\u1ebft ch\u1ec9nh s\u1eeda th\u00e0nh c\u00f4ng v\u1edbi d\u1eef li\u1ec7u t\u01b0\u01a1ng \u1ee9ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ed7i: Ch\u01b0a ghi Ti\u1ebfng Vi\u1ec7t t\u1ea1i \u00f4 &#8220;T\u1ec9nh th\u00e0nh v\u1ec1 ngh\u1ec9 t\u1ebft&#8221; \u0111\u01b0\u1ee3c<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>9. Ch\u1ec9nh s\u1eeda phi\u1ebfu t\u1ea1o ngh\u1ec9 t\u1ebft kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_09<\/td><td>TC_LEAVE_ABSENCE_009<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Ch\u1ec9nh s\u1eeda phi\u1ebfu ngh\u1ec9 t\u1ebft kh\u00f4ng th\u00e0nh c\u00f4ng v\u1edbi c\u00e1c l\u1ed7i tr\u1ea3 v\u1ec1 t\u01b0\u01a1ng \u1ee9ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed r\u00e0ng bu\u1ed9c (Validate and Constraint)<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Trong &#8220;D\/s ngh\u1ec9 ph\u00e9p&#8221; =&gt; ch\u1ecdn phi\u1ebfu ngh\u1ec9 t\u1ebft c\u1ea7n thay \u0111\u1ed5i =&gt; \u0111i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7 =&gt; b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221; <\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>\u00f4 nh\u1eadp ng\u00e0y: 31-2-2025 \/ abc<br>\u00f4 nh\u1eadp s\u1ed1: -1<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u tr\u01b0\u1edbc t\u1ebft &gt; Ng\u00e0y k\u1ebft th\u00fac tr\u01b0\u1edbc t\u1ebft<br>Ng\u00e0y k\u1ebft th\u00fac tr\u01b0\u1edbc t\u1ebft &gt; Ng\u00e0y k\u1ebft th\u00fac sau t\u1ebft <\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu ngh\u1ec9 t\u1ebft ch\u1ec9nh s\u1eeda th\u00e0nh c\u00f4ng v\u1edbi d\u1eef li\u1ec7u t\u01b0\u01a1ng \u1ee9ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>10. T\u00ecm ki\u1ebfm phi\u1ebfu<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_10<\/td><td>TC_LEAVE_010<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u00ecm ki\u1ebfm phi\u1ebfu v\u1edbi c\u00e1c tr\u01b0\u1eddng nh\u1eadp c\u01a1 b\u1ea3n<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Trong &#8220;D\/s ngh\u1ec9 ph\u00e9p&#8221; =&gt; ch\u1ecdn &#8220;L\u1ecdc nhanh&#8221; \/ &#8220;B\u1ed9 l\u1ecdc n\u00e2ng cao&#8221; =&gt; \u0111i\u1ec1n c\u00e1c \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm =&gt; b\u1ea5m n\u00fat &#8220;T\u00ecm ki\u1ebfm&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean: NP-ngoctb-2025-6 \/ <br>NP-kiennt-2025-4<br>Ng\u00e0y b\u1eaft \u0111\u1ea7u: 16-07-2025 \/ 30-06-2025<br>Ng\u00e0y k\u1ebft th\u00fac: 02-07-2025 \/ <br>01-07-2025<br>Nh\u00e2n vi\u00ean ngh\u1ec9 ph\u00e9p: Ho\u00e0ng Thi\u1ec7n Ph\u00fa \/ Nguy\u1ec5n H\u1ea3i H\u01b0ng<br>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: ki\u1ec3m th\u1eed h\u1ebft<br>H\u00ecnh th\u1ee9c ngh\u1ec9 ph\u00e9p: ki\u1ec3m th\u1eed h\u1ebft<br>T\u00ecnh tr\u1ea1ng: 3 gi\u00e1 tr\u1ecb b\u1ea5t k\u00ec<br>Giao cho: Testcase \/ Tr\u1ea7n B\u1ea3o Ng\u1ecdc<br>B\u1ed9 ph\u1eadn: K\u1ef9 thu\u1eadt \/ Showroom<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Hi\u1ec3n th\u1ecb danh s\u00e1ch t\u01b0\u01a1ng \u1ee9ng v\u1edbi \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ghi ch\u00fa:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ch\u01b0a t\u00ecm ki\u1ebfm b\u1eb1ng &#8220;B\u1ed9 ph\u1eadn&#8221; \u0111\u01b0\u1ee3c (test sau)<\/li>\n\n\n\n<li>Thi\u1ebfu enable range search \u1edf \u00f4 ng\u00e0y b\u1eaft \u0111\u1ea7u<\/li>\n\n\n\n<li>Thi\u1ebfu enable range search \u1edf \u00f4 ng\u00e0y k\u1ebft th\u00fac<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>11. T\u00ecm ki\u1ebfm phi\u1ebfu kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_11<\/td><td>TC_LEAVE_011<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u00ecm ki\u1ebfm phi\u1ebfu v\u1edbi c\u00e1c tr\u01b0\u1eddng nh\u1eadp c\u01a1 b\u1ea3n c\u00f3 gi\u00e1 tr\u1ecb kh\u00f4ng h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed an to\u00e0n d\u1eef li\u1ec7u v\u00e0 r\u00e0ng bu\u1ed9c<br>(Validate and Constraint)<br>Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Truy c\u1eadp &#8220;HCNS&#8221; =&gt; ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; =&gt; ch\u1ecdn &#8220;D\/s ngh\u1ec9 ph\u00e9p&#8221; \u1edf sidebarmenu b\u00ean tr\u00e1i =&gt; ch\u1ecdn &#8220;L\u1ecdc nhanh&#8221; \/ &#8220;B\u1ed9 l\u1ecdc n\u00e2ng cao&#8221; =&gt; \u0111i\u1ec1n c\u00e1c \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm =&gt; b\u1ea5m n\u00fat &#8220;T\u00ecm ki\u1ebfm&#8221; =&gt; quan s\u00e1t k\u1ebft qu\u1ea3 sau khi b\u1ea5m n\u00fat &#8220;T\u00ecm ki\u1ebfm&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng nh\u1eadp: 1=1 \/ abc <br>t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng nh\u1eadp ng\u00e0y: 1=1 \/ 31-2-2025 \/ abc<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Kh\u00f4ng tr\u1ea3 v\u1ec1 danh s\u00e1ch phi\u1ebfu v\u1edbi \u0111i\u1ec1u ki\u1ec7n kh\u00f4ng ph\u00f9 h\u1ee3p<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>III. Ph\u00eda ng\u01b0\u1eddi c\u00f3 quy\u1ec1n ph\u00ea duy\u1ec7t<\/strong> <\/h3>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>1. Ph\u00ea duy\u1ec7t phi\u1ebfu ngh\u1ec9 ph\u00e9p<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n duy\u1ec7t<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_12<\/td><td>TC_LEAVEABSENCE_012<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Duy\u1ec7t 1 phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn phi\u1ebfu ngh\u1ec9 ph\u00e9p c\u1ea7n duy\u1ec7t => b\u1ea5m duy\u1ec7t<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Phi\u1ebfu duy\u1ec7t: NP-datlnt-2025-001<br>Thao t\u00e1c: nh\u1ea5n n\u00fat &#8220;Ph\u00ea duy\u1ec7t&#8221; => ch\u1ecdn ph\u00ea duy\u1ec7t \/ t\u1eeb ch\u1ed1i (n\u1ebfu ch\u1ecdn l\u00e0 b\u01b0\u1edbc duy\u1ec7t cu\u1ed1i th\u00ec s\u1ebd k\u1ebft th\u00fac quy tr\u00ecnh duy\u1ec7t)<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Ph\u00ea duy\u1ec7t th\u00e0nh c\u00f4ng theo vai tr\u00f2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>2. Ph\u00ea duy\u1ec7t t\u1eeb ch\u1ed1i phi\u1ebfu ngh\u1ec9 ph\u00e9p<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n duy\u1ec7t<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_13<\/td><td>TC_LEAVEABSENCE_013<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Duy\u1ec7t t\u1eeb ch\u1ed1i 1 phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn phi\u1ebfu ngh\u1ec9 ph\u00e9p c\u1ea7n duy\u1ec7t => b\u1ea5m &#8220;t\u1eeb ch\u1ed1i&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Phi\u1ebfu duy\u1ec7t: NP-datlnt-2025-001<br>Thao t\u00e1c: nh\u1ea5n n\u00fat &#8220;Ph\u00ea duy\u1ec7t&#8221; =&gt; ch\u1ecdn ph\u00ea duy\u1ec7t \/ t\u1eeb ch\u1ed1i (n\u1ebfu ch\u1ecdn l\u00e0 b\u01b0\u1edbc duy\u1ec7t cu\u1ed1i th\u00ec s\u1ebd k\u1ebft th\u00fac quy tr\u00ecnh duy\u1ec7t)<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Ph\u00ea duy\u1ec7t t\u1eeb ch\u1ed1i th\u00e0nh c\u00f4ng theo vai tr\u00f2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>3. T\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n t\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_14<\/td><td>TC_LEAVEABSENCE_014<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o 1 lo\u1ea1i ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;Lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;T\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => \u0110i\u1ec1n c\u00e1c th\u00f4ng tin b\u1eaft bu\u1ed9c v\u00e0 h\u1ee3p l\u1ec7 => b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: &#8220;C\u01b0\u1edbi xin&#8221;<br>Ng\u00e0y ngh\u1ec9 ph\u00e9p: 1<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>T\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>4. T\u1ea1o \/ S\u1eeda lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/strong> <strong>kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n s\u1eeda lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">lo\u1ea1i ngh\u1ec9 ph\u00e9p ph\u1ea3i t\u1ed3n t\u1ea1i trong danh s\u00e1ch<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_15<\/td><td>TC_LEAVEABSENCE_015<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Thao t\u00e1c kh\u00f4ng h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed an to\u00e0n d\u1eef li\u1ec7u v\u00e0 r\u00e0ng bu\u1ed9c<br>(Validate and Constraint)<br>Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;Lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;T\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => \u0110i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7=> b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<br>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;Lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn lo\u1ea1i ngh\u1ec9 ph\u00e9p c\u1ea7n ch\u1ec9nh s\u1eeda => \u0110i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7=> b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: &lt;Tr\u1ed1ng><br>Ng\u00e0y ngh\u1ec9 ph\u00e9p: &lt;Tr\u1ed1ng><\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>T\u1ea1o lo\u1ea1i ngh\u1ec9 ph\u00e9p kh\u00f4ng th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>5. S\u1eeda lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition:<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n s\u1eeda lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo\u1ea1i ngh\u1ec9 ph\u00e9p ph\u1ea3i t\u1ed3n t\u1ea1i trong danh s\u00e1ch<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_16<\/td><td>TC_LEAVEABSENCE_016<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o 1 lo\u1ea1i ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;Lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn &#8220;DS lo\u1ea1i ngh\u1ec9 ph\u00e9p&#8221; => S\u1eeda c\u00e1c th\u00f4ng tin b\u1eaft bu\u1ed9c v\u00e0 h\u1ee3p l\u1ec7 => b\u1ea5m n\u00fat &#8220;L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Lo\u1ea1i ngh\u1ec9 ph\u00e9p: &#8220;C\u01b0\u1edbi xin&#8221; => &#8220;C\u01b0\u1edbi h\u1ecfi&#8221;<br>Ng\u00e0y ngh\u1ec9 ph\u00e9p: 1 => 3<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>S\u1eeda lo\u1ea1i ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>6. Xo\u00e1 lo\u1ea1i ngh\u1ec9 ph\u00e9p<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n \u0111\u01b0\u1ee3c xo\u00e1 \u0111i lo\u1ea1i ngh\u1ec9 ph\u00e9p (th\u01b0\u1eddng l\u00e0 admin)<\/li>\n\n\n\n<li>Phi\u1ebfu ph\u1ea3i t\u1ed3n t\u1ea1i trong danh s\u00e1ch phi\u1ebfu<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_17<\/td><td>TC_LEAVE_ABSENCE_017<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Xo\u00e1 lo\u1ea1i ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn lo\u1ea1i ngh\u1ec9 ph\u00e9p c\u1ea7n xo\u00e1 => b\u1ea5m n\u00fat &#8220;H\u00e0nh \u0111\u1ed9ng&#8221; => b\u1ea5m n\u00fat &#8220;Xo\u00e1&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>&lt;Tr\u1ed1ng&gt;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Phi\u1ebfu \u0111\u01b0\u1ee3c ch\u1ecdn \u0111\u01b0\u1ee3c xo\u00e1 kh\u1ecfi danh s\u00e1ch th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>7. L\u1ecbch bi\u1ec3u ngh\u1ec9 ph\u00e9p<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i c\u00f3 quy\u1ec1n \u0111\u01b0\u1ee3c xem l\u1ecbch bi\u1ec3u<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_18<\/td><td>TC_LEAVE_ABSENCE_018<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Xem l\u1ecbch bi\u1ec3u th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;L\u1ecbch bi\u1ec3u&#8221; => ch\u1ecdn ph\u00f2ng ban \/ ng\u00e0y c\u1ea7n xem => b\u1ea5m n\u00fat &#8220;Xem l\u1ecbch bi\u1ec3u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>Th\u00e1ng: 12<br>N\u0103m: 2025<br>B\u1ed9 ph\u1eadn: CNTT<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Xem l\u1ecbch bi\u1ec3u th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>8. T\u1ea1o ng\u00e0y ngh\u1ec9 l\u1ec5<\/strong><\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_19<\/td><td>TC_LEAVE_ABSENCE_019<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u1ea1o ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => Ch\u1ecdn &#8220;T\u1ea1o ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => &#8220;\u0110i\u1ec1n c\u00e1c th\u00f4ng tin h\u1ee3p l\u1ec7&#8221; => &#8220;B\u1ea5m n\u00fat L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean:&#8221;Ngh\u1ec9 l\u1ec5 test&#8221;<br>M\u00f4 t\u1ea3: &#8220;Ngh\u1ec9 t\u1eeb 08\/12\/2025 &#8211; 10\/12\/2025&#8221;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>T\u1ea1o ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>9. S\u1eeda ng\u00e0y ngh\u1ec9 l\u1ec5<\/strong><\/h6>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-condition: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ng\u00e0y ngh\u1ec9 l\u1ec5 c\u1ea7n s\u1eefa \u0111\u00e3 t\u1ed3n t\u1ea1i<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_20<\/td><td>TC_LEAVE_ABSENCE_020<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>S\u1eeda ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => Ch\u1ecdn ng\u00e0y ngh\u1ec9 l\u1ec5 c\u1ea7n s\u1eeda => &#8220;\u0110i\u1ec1n c\u00e1c th\u00f4ng tin h\u1ee3p l\u1ec7&#8221; => &#8220;B\u1ea5m n\u00fat L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean:&#8221;Ngh\u1ec9 l\u1ec5 test&#8221; => &#8220;Ngh\u1ec9 l\u1ec5 123&#8221;<br>M\u00f4 t\u1ea3: &#8220;Ngh\u1ec9 t\u1eeb 08\/12\/2025 &#8211; 10\/12\/2025&#8221; => &#8220;Ngh\u1ec9 t\u1eeb 09\/12\/2025 &#8211; 12\/12\/2025&#8221;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>S\u1eeda ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>10. T\u1ea1o\/ S\u1eeda ng\u00e0y ngh\u1ec9 l\u1ec5 kh\u00f4ng h\u1ee3p l\u1ec7<\/strong><\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_21<\/td><td>TC_LEAVE_ABSENCE_021<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Thao t\u00e1c kh\u00f4ng h\u1ee3p l\u1ec7<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td><br>Ki\u1ec3m th\u1eed an to\u00e0n d\u1eef li\u1ec7u v\u00e0 r\u00e0ng bu\u1ed9c<br>(Validate and Constraint)<br>Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => Ch\u1ecdn &#8220;T\u1ea1o ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => &#8220;\u0110i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7&#8221; => &#8220;B\u1ea5m n\u00fat L\u01b0u&#8221;<br>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => Ch\u1ecdn ng\u00e0y ngh\u1ec9 l\u1ec5 c\u1ea7n s\u1eeda => &#8220;\u0110i\u1ec1n c\u00e1c th\u00f4ng tin kh\u00f4ng h\u1ee3p l\u1ec7&#8221; => &#8220;B\u1ea5m n\u00fat L\u01b0u&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean:&lt;Tr\u1ed1ng><\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>T\u1ea1o\/S\u1eeda ng\u00e0y ngh\u1ec9 l\u1ec5 kh\u00f4ng th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>11. T\u00ecm ki\u1ebfm ng\u00e0y ngh\u1ec9 l\u1ec5<\/strong><\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_22<\/td><td>TC_LEAVE_ABSENCE_022<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>T\u00ecm ki\u1ebfm ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => \u0111i\u1ec1n c\u00e1c \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean: &#8220;Ngh\u1ec9 l\u1ec5 test 123&#8221;<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>T\u00ecm ki\u1ebfm ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>12. Xo\u00e1 ng\u00e0y ngh\u1ec9 l\u1ec5<\/strong><\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_23<\/td><td>TC_LEAVE_ABSENCE_023<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Xo\u00e1 ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;D\/s Ng\u00e0y ngh\u1ec9 l\u1ec5&#8221; => ch\u1ecdn c\u00e1c d\u00f2ng c\u1ea7n xo\u00e1 => b\u1ea5m n\u00fat &#8220;Xo\u00e1&#8221; <\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>&lt;Tr\u1ed1ng><\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Xo\u00e1 ng\u00e0y ngh\u1ec9 l\u1ec5 th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>13. Qu\u00e1 tr\u00ecnh ngh\u1ec9 ph\u00e9p<\/strong><\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>M\u1ee5c<\/strong><\/td><td><strong>N\u1ed9i dung<\/strong><\/td><\/tr><tr><td>TC_24<\/td><td>TC_LEAVE_ABSENCE_024<\/td><\/tr><tr><td>M\u00f4 t\u1ea3<\/td><td>Xem qu\u00e1 tr\u00ecnh ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><tr><td>Lo\u1ea1i \/ \u0110\u1ed9 \u01b0u ti\u00ean<\/td><td>Ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng ch\u00ednh<br>R\u1ea5t Cao<\/td><\/tr><tr><td>B\u01b0\u1edbc th\u1ef1c hi\u1ec7n<\/td><td>Ch\u1ecdn &#8220;Ngh\u1ec9 ph\u00e9p&#8221; => Ch\u1ecdn &#8220;Qu\u00e1 tr\u00ecnh ngh\u1ec9 ph\u00e9p&#8221; => ch\u1ecdn nh\u00e2n vi\u00ean \/ n\u0103m c\u1ea7n xem => b\u1ea5m n\u00fat &#8220;Xem qu\u00e1 tr\u00ecnh&#8221;<\/td><\/tr><tr><td>D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o<\/td><td>T\u00ean: L\u00ea Nguy\u1ec5n Th\u00e0nh \u0110\u1ea1t<br>N\u0103m: 2025<\/td><\/tr><tr><td>K\u1ef3 v\u1ecdng<\/td><td>Xem qu\u00e1 tr\u00ecnh ngh\u1ec9 ph\u00e9p th\u00e0nh c\u00f4ng<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I. M\u1ee5c ti\u00eau test II. Danh s\u00e1ch test case chi ti\u1ebft 1. T\u1ea1o phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p l\u1ec7 \u0110\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng cho ph\u00e9p&nbsp;t\u1ea1o m\u1edbi m\u1ed9t phi\u1ebfu ngh\u1ec9 ph\u00e9p&nbsp;khi nh\u1eadp \u0111\u1ea7y \u0111\u1ee7 c\u00e1c tr\u01b0\u1eddng, h\u1ee3p l\u1ec7 t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng b\u1eaft bu\u1ed9c. M\u1ee5c N\u1ed9i dung TC_01 BM_LEAVEABSENCE_001 M\u00f4 t\u1ea3 T\u1ea1o 1 phi\u1ebfu ngh\u1ec9 ph\u00e9p h\u1ee3p [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"parent":582,"menu_order":5,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-640","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/docs\/640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=640"}],"version-history":[{"count":133,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/docs\/640\/revisions"}],"predecessor-version":[{"id":2756,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/docs\/640\/revisions\/2756"}],"up":[{"embeddable":true,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=\/wp\/v2\/docs\/582"}],"wp:attachment":[{"href":"https:\/\/docs.quantri.online\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=640"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/docs.quantri.online\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_tag&post=640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}