49 lines
1.7 KiB
Python
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() |