sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
"""Cover / Mẫu 02 don_vi resolution for legacy officialBieuMau JSON.
|
||||
|
||||
Run: cd be0 && python -m unittest tests.test_official_to_data_blank_don_vi -v
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from src.be01.official_to_data_blank import _resolve_don_vi_cong_tac, official_to_data_blank
|
||||
|
||||
|
||||
class OfficialToDataBlankDonViTests(unittest.TestCase):
|
||||
def test_resolve_prefers_explicit_cover(self) -> None:
|
||||
official = {
|
||||
"TRANG BÌA": {"Đơn vị công tác": " Phòng A "},
|
||||
"MẪU SỐ 02 - ĐƠN ĐỀ NGHỊ CÔNG NHẬN SÁNG KIẾN": {
|
||||
"Đơn vị": "",
|
||||
"Danh sách tác giả": [
|
||||
{"STT": "1", "Họ và tên": "X", "Nơi công tác": "Phòng B"},
|
||||
],
|
||||
},
|
||||
}
|
||||
self.assertEqual(_resolve_don_vi_cong_tac(official), "Phòng A")
|
||||
|
||||
def test_resolve_falls_back_to_first_author_workplace(self) -> None:
|
||||
official = {
|
||||
"TRANG BÌA": {"Đơn vị công tác": ""},
|
||||
"MẪU SỐ 02 - ĐƠN ĐỀ NGHỊ CÔNG NHẬN SÁNG KIẾN": {
|
||||
"Đơn vị": "",
|
||||
"Danh sách tác giả": [
|
||||
{
|
||||
"STT": "1",
|
||||
"Họ và tên": "Nguyễn Văn A",
|
||||
"Nơi công tác": "Trường Y",
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
self.assertEqual(_resolve_don_vi_cong_tac(official), "Trường Y")
|
||||
|
||||
def test_official_to_data_blank_sets_trang_bia_and_mau02(self) -> None:
|
||||
official = {
|
||||
"TRANG BÌA": {
|
||||
"Tên sáng kiến (Tiếng Việt)": "SK1",
|
||||
"Tác giả/nhóm tác giả sáng kiến": "A",
|
||||
"Đơn vị công tác": "",
|
||||
"Thông tin liên hệ (Điện thoại, Email)": "",
|
||||
"Năm": "2026",
|
||||
},
|
||||
"MẪU SỐ 02 - ĐƠN ĐỀ NGHỊ CÔNG NHẬN SÁNG KIẾN": {
|
||||
"Đơn vị": "",
|
||||
"Danh sách tác giả": [
|
||||
{
|
||||
"STT": "1",
|
||||
"Họ và tên": "A",
|
||||
"Ngày tháng năm sinh": "",
|
||||
"Nơi công tác": "Khoa X",
|
||||
"Chức danh": "",
|
||||
"Trình độ chuyên môn": "",
|
||||
"Tỷ lệ (%) đóng góp vào việc tạo ra sáng kiến": "100",
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
ctx = official_to_data_blank(official)
|
||||
self.assertEqual(ctx["trang_bia"]["don_vi"], "Khoa X")
|
||||
self.assertEqual(ctx["mau_02"]["don_vi"], "Khoa X")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user