2018-12-23 11:05:38 +01:00
|
|
|
from typing import Any, Dict
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from openslides.agenda import projector
|
|
|
|
|
2020-05-15 18:24:21 +02:00
|
|
|
from ...integration.helpers import get_all_data_provider
|
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
|
|
|
|
@pytest.fixture
|
2020-05-15 18:24:21 +02:00
|
|
|
def all_data_provider():
|
|
|
|
data = {
|
2018-12-23 11:05:38 +01:00
|
|
|
"agenda/item": {
|
|
|
|
1: {
|
|
|
|
"id": 1,
|
|
|
|
"item_number": "",
|
2019-02-21 16:15:21 +01:00
|
|
|
"title_information": {"title": "item1"},
|
2018-12-23 11:05:38 +01:00
|
|
|
"comment": None,
|
|
|
|
"closed": False,
|
|
|
|
"type": 1,
|
|
|
|
"is_internal": False,
|
|
|
|
"is_hidden": False,
|
|
|
|
"duration": None,
|
|
|
|
"speakers": [],
|
|
|
|
"speaker_list_closed": False,
|
|
|
|
"content_object": {"collection": "topics/topic", "id": 1},
|
|
|
|
"weight": 10,
|
|
|
|
"parent_id": None,
|
|
|
|
},
|
|
|
|
2: {
|
|
|
|
"id": 2,
|
|
|
|
"item_number": "",
|
|
|
|
"title": "item2",
|
|
|
|
"title_with_type": "item2",
|
2019-02-21 16:15:21 +01:00
|
|
|
"title_information": {"title": "item2"},
|
2018-12-23 11:05:38 +01:00
|
|
|
"comment": None,
|
|
|
|
"closed": False,
|
|
|
|
"type": 1,
|
|
|
|
"is_internal": False,
|
|
|
|
"is_hidden": False,
|
|
|
|
"duration": None,
|
|
|
|
"speakers": [],
|
|
|
|
"speaker_list_closed": False,
|
|
|
|
"content_object": {"collection": "topics/topic", "id": 1},
|
|
|
|
"weight": 20,
|
|
|
|
"parent_id": None,
|
|
|
|
},
|
|
|
|
# hidden item
|
|
|
|
3: {
|
|
|
|
"id": 3,
|
|
|
|
"item_number": "",
|
|
|
|
"title": "item3",
|
|
|
|
"title_with_type": "item3",
|
2019-02-21 16:15:21 +01:00
|
|
|
"title_information": {"title": "item3"},
|
2018-12-23 11:05:38 +01:00
|
|
|
"comment": None,
|
|
|
|
"closed": True,
|
|
|
|
"type": 2,
|
|
|
|
"is_internal": False,
|
|
|
|
"is_hidden": True,
|
|
|
|
"duration": None,
|
|
|
|
"speakers": [],
|
|
|
|
"speaker_list_closed": False,
|
|
|
|
"content_object": {"collection": "topics/topic", "id": 1},
|
|
|
|
"weight": 30,
|
|
|
|
"parent_id": None,
|
|
|
|
},
|
|
|
|
# Child of item 1
|
|
|
|
4: {
|
|
|
|
"id": 4,
|
|
|
|
"item_number": "",
|
2019-02-21 16:15:21 +01:00
|
|
|
"title_information": {"title": "item4"},
|
2018-12-23 11:05:38 +01:00
|
|
|
"comment": None,
|
|
|
|
"closed": True,
|
|
|
|
"type": 1,
|
|
|
|
"is_internal": False,
|
|
|
|
"is_hidden": False,
|
|
|
|
"duration": None,
|
|
|
|
"speakers": [],
|
|
|
|
"speaker_list_closed": False,
|
|
|
|
"content_object": {"collection": "topics/topic", "id": 1},
|
|
|
|
"weight": 0,
|
|
|
|
"parent_id": 1,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-05-15 18:24:21 +02:00
|
|
|
return get_all_data_provider(data)
|
2018-12-23 11:05:38 +01:00
|
|
|
|
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
@pytest.mark.asyncio
|
2020-05-15 18:24:21 +02:00
|
|
|
async def test_main_items(all_data_provider):
|
2019-01-27 13:17:17 +01:00
|
|
|
element: Dict[str, Any] = {}
|
2018-12-23 11:05:38 +01:00
|
|
|
|
2020-05-15 18:24:21 +02:00
|
|
|
data = await projector.item_list_slide(all_data_provider, element, 1)
|
2018-12-23 11:05:38 +01:00
|
|
|
|
2019-02-21 16:15:21 +01:00
|
|
|
assert data == {
|
|
|
|
"items": [
|
|
|
|
{
|
|
|
|
"collection": "topics/topic",
|
2019-11-13 14:00:53 +01:00
|
|
|
"title_information": {"title": "item1", "_agenda_item_number": ""},
|
2019-02-21 16:15:21 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"collection": "topics/topic",
|
2019-11-13 14:00:53 +01:00
|
|
|
"title_information": {"title": "item2", "_agenda_item_number": ""},
|
2019-02-21 16:15:21 +01:00
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
2018-12-23 11:05:38 +01:00
|
|
|
|
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
@pytest.mark.asyncio
|
2020-05-15 18:24:21 +02:00
|
|
|
async def test_all_items(all_data_provider):
|
2019-02-21 16:15:21 +01:00
|
|
|
element: Dict[str, Any] = {"only_main_items": False}
|
2018-12-23 11:05:38 +01:00
|
|
|
|
2020-05-15 18:24:21 +02:00
|
|
|
data = await projector.item_list_slide(all_data_provider, element, 1)
|
2018-12-23 11:05:38 +01:00
|
|
|
|
2019-02-21 16:15:21 +01:00
|
|
|
assert data == {
|
|
|
|
"items": [
|
|
|
|
{
|
|
|
|
"collection": "topics/topic",
|
|
|
|
"depth": 0,
|
2019-11-13 14:00:53 +01:00
|
|
|
"title_information": {"title": "item1", "_agenda_item_number": ""},
|
2019-02-21 16:15:21 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"collection": "topics/topic",
|
|
|
|
"depth": 1,
|
2019-11-13 14:00:53 +01:00
|
|
|
"title_information": {"title": "item4", "_agenda_item_number": ""},
|
2019-02-21 16:15:21 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"collection": "topics/topic",
|
|
|
|
"depth": 0,
|
2019-11-13 14:00:53 +01:00
|
|
|
"title_information": {"title": "item2", "_agenda_item_number": ""},
|
2019-02-21 16:15:21 +01:00
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|