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
|