27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
|
|
from services.staff_credit_html_export_service import StaffCreditHtmlExportService
|
|||
|
|
|
|||
|
|
|
|||
|
|
class FakeStaffRepository:
|
|||
|
|
def select_active_staff_identities(self):
|
|||
|
|
return [
|
|||
|
|
{"staff_name": "张三", "staff_id_card": "110101199001010011"},
|
|||
|
|
{"staff_name": "李四", "staff_id_card": "110101199202023456"},
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
|
|||
|
|
def test_export_should_write_one_html_per_staff(tmp_path):
|
|||
|
|
service = StaffCreditHtmlExportService(FakeStaffRepository())
|
|||
|
|
|
|||
|
|
generated_files = service.export(tmp_path)
|
|||
|
|
|
|||
|
|
assert len(generated_files) == 2
|
|||
|
|
first_html = generated_files[0].read_text(encoding="utf-8")
|
|||
|
|
second_html = generated_files[1].read_text(encoding="utf-8")
|
|||
|
|
|
|||
|
|
assert generated_files[0].name == "0001_张三_0011.html"
|
|||
|
|
assert generated_files[1].name == "0002_李四_3456.html"
|
|||
|
|
assert 'meta name="ccdi-staff-name" content="张三"' in first_html
|
|||
|
|
assert 'meta name="ccdi-staff-id-card" content="110101199001010011"' in first_html
|
|||
|
|
assert "姓名:李四" in second_html
|
|||
|
|
assert "身份证号:110101199202023456" in second_html
|