old_console/perms/tests/test_migrations.py
2024-11-02 14:12:45 +03:00

37 lines
1.8 KiB
Python

import pytest
general_permissions = {}
ncircc_permissions = {'can_view_company_card', 'can_edit_company_card', 'can_view_message_list',
'can_view_message_card', 'can_edit_message_card'}
DEFAULT_GROUPS_TEST = (
('Оператор', 10,
{'can_view_incidents_list', 'can_view_incidents', 'can_add_widgets', 'can_view_storage', 'can_view_network',
'can_edit_message_card', 'can_view_message_card', 'can_view_message_list', 'can_edit_company_card',
'can_view_company_card'}),
('Офицер безопасности 1 уровня', 15,
{'can_view_incidents_list', 'can_view_incidents', 'can_work_with_incidents', 'can_view_events',
'can_view_asset', 'can_view_events_list', 'can_view_assets_list', 'can_add_widgets', 'can_view_storage',
'can_view_network', 'can_edit_message_card', 'can_view_message_card', 'can_view_message_list', 'can_edit_company_card',
'can_view_company_card'})
)
@pytest.mark.skipif(reason="Skipped before the rights model is recycled")
@pytest.mark.unit
@pytest.mark.django_db
@pytest.mark.parametrize('group_name, permissions_count, expected_permissions', DEFAULT_GROUPS_TEST)
def test_migrations_0006_add_default_groups(group_name: str, permissions_count: int, expected_permissions: set,
migrator):
migrator.apply_initial_migration(('perms', '0005_auto_20210124_1727'))
new_state = migrator.apply_tested_migration(('perms', '0006_add_default_groups'))
Group = new_state.apps.get_model('auth', 'Group')
groups = Group.objects.filter(name=group_name)
assert len(groups) == 1
permissions = set(groups[0].permissions.values_list('codename', flat=True))
assert len(permissions) == permissions_count
assert permissions == expected_permissions