- Implement test script for new SAG module endpoints BE-003 (Tag State Management) and BE-004 (Bulk Operations). - Create test cases for creating, updating, and bulk operations on cases and tags. - Add a test for module deactivation to ensure data integrity is maintained. - Include setup and teardown for tests to clear database state before and after each test.
29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
import sys
|
|
from pathlib import Path
|
|
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
|
|
import pytest
|
|
from app.core.database import execute_query
|
|
|
|
def test_module_deactivation():
|
|
"""Ensure module deactivation preserves data integrity."""
|
|
# Simulate module deactivation
|
|
execute_query("UPDATE modules SET enabled = false WHERE name = 'sag';")
|
|
|
|
# Check that data is preserved
|
|
cases = execute_query("SELECT * FROM sag_sager;")
|
|
relations = execute_query("SELECT * FROM sag_relationer;")
|
|
tags = execute_query("SELECT * FROM sag_tags;")
|
|
|
|
assert cases is not None, "Cases data should be preserved."
|
|
assert relations is not None, "Relations data should be preserved."
|
|
assert tags is not None, "Tags data should be preserved."
|
|
|
|
# Check that soft-deleted data is still present
|
|
soft_deleted_cases = execute_query("SELECT * FROM sag_sager WHERE deleted_at IS NOT NULL;")
|
|
soft_deleted_relations = execute_query("SELECT * FROM sag_relationer WHERE deleted_at IS NOT NULL;")
|
|
soft_deleted_tags = execute_query("SELECT * FROM sag_tags WHERE deleted_at IS NOT NULL;")
|
|
|
|
assert soft_deleted_cases is not None, "Soft-deleted cases should be preserved."
|
|
assert soft_deleted_relations is not None, "Soft-deleted relations should be preserved."
|
|
assert soft_deleted_tags is not None, "Soft-deleted tags should be preserved." |