更新
This commit is contained in:
@@ -9,10 +9,12 @@ os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
||||
import pytest
|
||||
from PySide6.QtCore import QDate, Signal
|
||||
from PySide6.QtWidgets import (
|
||||
QApplication,
|
||||
QDialog,
|
||||
QInputDialog,
|
||||
QMessageBox,
|
||||
QApplication,
|
||||
QDialog,
|
||||
QDialogButtonBox,
|
||||
QInputDialog,
|
||||
QLabel,
|
||||
QMessageBox,
|
||||
QToolButton,
|
||||
QWidget,
|
||||
)
|
||||
@@ -20,9 +22,14 @@ from PySide6.QtWidgets import (
|
||||
from doctor_workstation.core import PermissionSet
|
||||
from doctor_workstation.ui.dialogs import diagnosis as diagnosis_module
|
||||
from doctor_workstation.ui.pages import consultations as consultations_module
|
||||
from doctor_workstation.ui.pages.consultations import (
|
||||
ConsultationsPage,
|
||||
_video_payload,
|
||||
from doctor_workstation.ui.pages.consultations import (
|
||||
ConsultationsPage,
|
||||
_AppointmentLogDialog,
|
||||
_DiagnosisCreateDialog,
|
||||
_DiagnosisOrderDialog,
|
||||
_DiagnosisOrderQrDialog,
|
||||
_QrResultDialog,
|
||||
_video_payload,
|
||||
appointment_rows,
|
||||
is_diagnosis_confirmed,
|
||||
is_valid_id_card,
|
||||
@@ -81,7 +88,7 @@ def immediate_async(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setattr(diagnosis_module, "run_async", run_immediately)
|
||||
|
||||
|
||||
def _row(**changes: Any) -> dict[str, Any]:
|
||||
def _row(**changes: Any) -> dict[str, Any]:
|
||||
row = {
|
||||
"id": 501,
|
||||
"diagnosis_id": 501,
|
||||
@@ -105,8 +112,50 @@ def _row(**changes: Any) -> dict[str, Any]:
|
||||
"DiagnosisViewRecord": [{"is_confirmed": 1}],
|
||||
"has_prescription": 0,
|
||||
}
|
||||
row.update(changes)
|
||||
return row
|
||||
row.update(changes)
|
||||
return row
|
||||
|
||||
|
||||
def test_consultation_business_dialogs_expose_shared_visual_contract(
|
||||
application: QApplication,
|
||||
) -> None:
|
||||
record = _row(patient_name="鹿立核", patient_id=301)
|
||||
dialogs = (
|
||||
_DiagnosisCreateDialog(),
|
||||
_DiagnosisOrderDialog(record),
|
||||
_AppointmentLogDialog(record, []),
|
||||
_QrResultDialog("视频二维码", record, "https://example.invalid/video.png"),
|
||||
_DiagnosisOrderQrDialog(record, "ORDER-301"),
|
||||
)
|
||||
|
||||
assert [dialog.objectName() for dialog in dialogs] == [
|
||||
"DiagnosisCreateDialog",
|
||||
"DiagnosisOrderDialog",
|
||||
"AppointmentLogDialog",
|
||||
"DiagnosisQrResultDialog",
|
||||
"DiagnosisOrderQrDialog",
|
||||
]
|
||||
assert all(dialog.property("businessDialog") is True for dialog in dialogs)
|
||||
assert all(
|
||||
any(label.property("dialogRole") == "title" for label in dialog.findChildren(QLabel))
|
||||
for dialog in dialogs
|
||||
)
|
||||
assert dialogs[0].findChild(QDialogButtonBox).button(
|
||||
QDialogButtonBox.StandardButton.Save
|
||||
).property("variant") == "primary"
|
||||
assert dialogs[1].findChild(QDialogButtonBox).button(
|
||||
QDialogButtonBox.StandardButton.Ok
|
||||
).property("variant") == "primary"
|
||||
assert next(
|
||||
button
|
||||
for button in dialogs[3].findChild(QDialogButtonBox).buttons()
|
||||
if button.text() == "打开二维码"
|
||||
).property("variant") == "primary"
|
||||
assert dialogs[4].open_button.property("variant") == "primary"
|
||||
|
||||
for dialog in dialogs:
|
||||
dialog.close()
|
||||
application.processEvents()
|
||||
|
||||
|
||||
def test_video_condition_never_uses_diagnosis_status_or_missed_status() -> None:
|
||||
@@ -165,9 +214,10 @@ def test_default_query_matches_admin_today_and_page_size_contract(
|
||||
assert len(calls) == 1
|
||||
query = calls[0]
|
||||
assert query["page_no"] == 1
|
||||
assert query["page_size"] == 15
|
||||
assert query["appointment_date"] == QDate.currentDate().toString("yyyy-MM-dd")
|
||||
assert "status" not in query
|
||||
assert query["page_size"] == 15
|
||||
assert query["appointment_date"] == QDate.currentDate().toString("yyyy-MM-dd")
|
||||
assert query["appointment_status"] == "1"
|
||||
assert "status" not in query
|
||||
assert query["has_appointment"] == ""
|
||||
assert query["diagnosis_confirmed"] == ""
|
||||
assert {
|
||||
|
||||
Reference in New Issue
Block a user