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