From d0deef7959abccee33103bc87980cf66665b129a Mon Sep 17 00:00:00 2001 From: Yukai Xue <144064399+AlwinXue@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:46:59 -0700 Subject: [PATCH] fix: correct package test import and mocks Made-with: Cursor --- package/src/pyaslreport/main.py | 5 +---- package/src/pyaslreport/tests/test_package.py | 13 +++++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/package/src/pyaslreport/main.py b/package/src/pyaslreport/main.py index 553e7e5e..ee3fbd1a 100644 --- a/package/src/pyaslreport/main.py +++ b/package/src/pyaslreport/main.py @@ -30,10 +30,7 @@ def get_bids_metadata(data): dicom_dir = data.get("dicom_dir") dicom_header = get_dicom_header(dicom_dir) sequence = get_sequence(modality, dicom_header) - - if sequence is None: - raise ValueError(f"No matching sequence found for modality '{modality}' with the provided DICOM header") - + return sequence.extract_bids_metadata() diff --git a/package/src/pyaslreport/tests/test_package.py b/package/src/pyaslreport/tests/test_package.py index fda43d33..223b89a3 100644 --- a/package/src/pyaslreport/tests/test_package.py +++ b/package/src/pyaslreport/tests/test_package.py @@ -1,6 +1,6 @@ import pytest from unittest.mock import patch, MagicMock -from .main import get_bids_metadata +from pyaslreport.main import get_bids_metadata # filepath: /home/ibrahim/MyPc/Projects/GSoC/ASL-Parameter-Generator/package/src/pyaslreport/test_main.py @@ -24,15 +24,16 @@ def test_get_bids_metadata_no_sequence(): data = {"modality": "asl", "dicom_dir": "/fake/dir"} fake_header = MagicMock() with patch("pyaslreport.main.get_dicom_header", return_value=fake_header), \ - patch("pyaslreport.main.get_sequence", return_value=None): + patch("pyaslreport.main.get_sequence", side_effect=ValueError("No ASL sequence class found that matches the DICOM header")): with pytest.raises(ValueError) as exc: get_bids_metadata(data) - assert "No matching sequence found" in str(exc.value) + assert "No ASL sequence class found" in str(exc.value) def test_get_bids_metadata_invalid_modality(): data = {"modality": None, "dicom_dir": "/fake/dir"} fake_header = MagicMock() with patch("pyaslreport.main.get_dicom_header", return_value=fake_header), \ - patch("pyaslreport.main.get_sequence", return_value=None): - with pytest.raises(ValueError): - get_bids_metadata(data) \ No newline at end of file + patch("pyaslreport.main.get_sequence", side_effect=ValueError("Unsupported modality: None")): + with pytest.raises(ValueError) as exc: + get_bids_metadata(data) + assert "Unsupported modality" in str(exc.value) \ No newline at end of file