Files
quality_recticel/py_app/test_worker_modules.py
Quality System Admin c96039542d updated control access
2025-10-16 02:36:32 +03:00

49 lines
1.7 KiB
Python

#!/usr/bin/env python3
"""
Quick test for updated worker permissions
"""
import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'app'))
from permissions_simple import validate_user_modules
def test_worker_multiple_modules():
"""Test that workers can now have multiple modules"""
print("Testing Updated Worker Module Permissions")
print("=" * 45)
test_cases = [
# (role, modules, expected_result, description)
('worker', ['quality'], True, "Worker with quality module"),
('worker', ['warehouse'], True, "Worker with warehouse module"),
('worker', ['quality', 'warehouse'], True, "Worker with multiple modules (NEW)"),
('worker', ['quality', 'warehouse', 'labels'], True, "Worker with all modules (NEW)"),
('worker', [], False, "Worker with no modules"),
('manager', ['quality', 'warehouse'], True, "Manager with multiple modules"),
]
passed = 0
failed = 0
for role, modules, expected, description in test_cases:
is_valid, error_msg = validate_user_modules(role, modules)
status = "PASS" if is_valid == expected else "FAIL"
print(f"{status}: {description}")
print(f" Role: {role}, Modules: {modules} -> {is_valid} (expected {expected})")
if error_msg:
print(f" Error: {error_msg}")
print()
if is_valid == expected:
passed += 1
else:
failed += 1
print(f"Results: {passed} passed, {failed} failed")
print("\n✅ Workers can now have multiple modules!" if failed == 0 else "❌ Some tests failed")
if __name__ == "__main__":
test_worker_multiple_modules()