diff --git a/src/backend/core/models.py b/src/backend/core/models.py index 1e302b01..29d80963 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -540,10 +540,10 @@ class Recording(BaseModel): def is_savable(self) -> bool: """Determine if the recording can be saved based on its current status.""" - is_unsuccessful = RecordingStatusChoices.is_unsuccessful(self.status) - is_already_saved = self.status == RecordingStatusChoices.SAVED - - return not is_unsuccessful and not is_already_saved + return self.status in { + RecordingStatusChoices.ACTIVE, + RecordingStatusChoices.STOPPED, + } class RecordingAccess(BaseAccess): diff --git a/src/backend/core/tests/test_models_recording.py b/src/backend/core/tests/test_models_recording.py index 8b71bd08..065694e4 100644 --- a/src/backend/core/tests/test_models_recording.py +++ b/src/backend/core/tests/test_models_recording.py @@ -173,6 +173,12 @@ def test_models_recording_is_savable_already_saved(): assert recording.is_savable() is False +def test_models_recording_is_savable_only_initiated(): + """Test is_savable for only initiated recording.""" + recording = RecordingFactory(status=RecordingStatusChoices.INITIATED) + assert recording.is_savable() is False + + # Test few corner cases