dc479cafd0
- Introduced CaseReviewMessage model to handle feedback and queries for cases. - Implemented views for displaying user and CID messages, including outstanding feedback. - Created templates for collection feedback overview and user messages. - Added functionality for acknowledging messages and sending feedback or queries. - Enhanced collection detail view to show outstanding messages and user message statistics. - Added tests for handling duplicate DICOM uploads without series.
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from types import SimpleNamespace
|
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
|
|
|
import atlas.api as atlas_api
|
|
from atlas.models import DuplicateDicom, SeriesImage
|
|
|
|
|
|
def test_upload_dicom_duplicate_series_image_without_series_does_not_500(
|
|
monkeypatch,
|
|
):
|
|
request = SimpleNamespace(user=SimpleNamespace(is_authenticated=True))
|
|
|
|
class DummyUncategorisedDicom:
|
|
def __init__(self, image, user):
|
|
self.image = image
|
|
self.user = user
|
|
self.image_blake3_hash = "hash123"
|
|
|
|
def save(self, *args, **kwargs):
|
|
raise DuplicateDicom(SeriesImage(series=None))
|
|
|
|
monkeypatch.setattr(atlas_api, "UncategorisedDicom", DummyUncategorisedDicom)
|
|
|
|
upload = SimpleUploadedFile(
|
|
"duplicate-no-series.dcm",
|
|
b"dicom-bytes",
|
|
content_type="application/dicom",
|
|
)
|
|
payload = atlas_api.upload_dicom(request, files=[upload])
|
|
|
|
assert payload["uploaded"] == []
|
|
assert payload["failed"] == []
|
|
assert payload["duplicate_series"] == []
|
|
assert payload["duplicates"] == [("duplicate-no-series.dcm", "hash123")]
|