def update_model(self, new_status_form: Form, beneficiary_import: BeneficiaryImport) -> None: new_status = ImportStatus(new_status_form.status.data) if is_import_status_change_allowed(beneficiary_import.currentStatus, new_status): beneficiary_import.setStatus(new_status, detail=new_status_form.detail.data, author=current_user) repository.save(beneficiary_import) else: new_status_form.status.errors.append( IMPORT_STATUS_MODIFICATION_RULE)
def test_retry_cannot_be_changed(self, new_status): assert is_import_status_change_allowed(ImportStatus.RETRY, new_status) is False
def test_rejected_cannot_be_changed(self, new_status): assert is_import_status_change_allowed(ImportStatus.REJECTED, new_status) is False
def test_created_cannot_be_changed(self, new_status): assert is_import_status_change_allowed(ImportStatus.CREATED, new_status) is False
def test_error_cannot_be_changed(self, new_status): assert is_import_status_change_allowed(ImportStatus.ERROR, new_status) is False
def test_duplicate_can_be_rejected_or_retried(self, new_status, allowed): assert is_import_status_change_allowed(ImportStatus.DUPLICATE, new_status) is allowed