feat: Add case review messaging system with feedback and query capabilities
- 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.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
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")]
|
||||
Reference in New Issue
Block a user