Some other preamble text
", - "amendment_paragraphs": None, - "modified_final_version": "", - "reason": "", - "parent_id": None, - "category_id": None, - "comments": [], - "motion_block_id": None, - "origin": "", - "submitters": [{"id": 4, "user_id": 1, "motion_id": 1, "weight": 1}], - "supporters_id": [], - "state_id": 1, - "state_extension": None, - "state_restriction": [], - "statute_paragraph_id": 1, - "workflow_id": 1, - "recommendation_id": None, - "recommendation_extension": None, - "tags_id": [], - "attachments_id": [], - "polls": [], - "agenda_item_id": 4, - "log_messages": [], - "sort_parent_id": None, - "weight": 10000, - "created": "2019-01-19T18:37:34.741336+01:00", - "last_modified": "2019-01-19T18:37:34.741368+01:00", - "change_recommendations": [], - "change_recommendations_id": [], - "amendments_id": [], - }, - } - data["motions/workflow"] = { - 1: { - "id": 1, - "name": "Simple Workflow", - "states": [1, 2, 3, 4], - "first_state_id": 1, - } - } - data["motions/state"] = { - 1: { - "id": 1, - "name": "submitted", - "recommendation_label": None, - "css_class": "lightblue", - "restriction": [], - "allow_support": True, - "allow_create_poll": True, - "allow_submitter_edit": True, - "dont_set_identifier": False, - "show_state_extension_field": False, - "merge_amendment_into_final": 0, - "show_recommendation_extension_field": False, - "next_states_id": [2, 3, 4], - "workflow_id": 1, - }, - 2: { - "id": 2, - "name": "accepted", - "recommendation_label": "Acceptance", - "css_class": "green", - "restriction": [], - "allow_support": False, - "allow_create_poll": False, - "allow_submitter_edit": False, - "dont_set_identifier": False, - "show_state_extension_field": False, - "merge_amendment_into_final": 1, - "show_recommendation_extension_field": False, - "next_states_id": [], - "workflow_id": 1, - }, - 3: { - "id": 3, - "name": "rejected", - "recommendation_label": "Rejection", - "css_class": "red", - "restriction": [], - "allow_support": False, - "allow_create_poll": False, - "allow_submitter_edit": False, - "dont_set_identifier": False, - "show_state_extension_field": False, - "merge_amendment_into_final": -1, - "show_recommendation_extension_field": False, - "next_states_id": [], - "workflow_id": 1, - }, - 4: { - "id": 4, - "name": "not decided", - "recommendation_label": "No decision", - "css_class": "grey", - "restriction": [], - "allow_support": False, - "allow_create_poll": False, - "allow_submitter_edit": False, - "dont_set_identifier": False, - "show_state_extension_field": False, - "merge_amendment_into_final": -1, - "show_recommendation_extension_field": False, - "next_states_id": [], - "workflow_id": 1, - }, - } - data["motions/statute-paragraph"] = { - 1: { - "id": 1, - "title": "§1 Preamble", - "text": "Some preamble text
", - "weight": 10000, - } - } - data["motions/motion-change-recommendation"] = { - 1: { - "id": 1, - "motion_id": 1, - "rejected": False, - "internal": True, - "type": 0, - "other_description": "", - "line_from": 1, - "line_to": 2, - "text": "internal new motion text", - "creation_time": "2019-02-09T09:54:06.256378+01:00", - }, - 2: { - "id": 2, - "motion_id": 1, - "rejected": False, - "internal": False, - "type": 0, - "other_description": "", - "line_from": 1, - "line_to": 2, - "text": "public new motion text", - "creation_time": "2019-02-09T09:54:06.256378+01:00", - }, - } - return get_all_data_provider(data) - - -@pytest.mark.asyncio -async def test_motion_slide(all_data_provider): - element: Dict[str, Any] = {"id": 1} - - data = await projector.motion_slide(all_data_provider, element, 1) - - assert data == { - "identifier": "4", - "title": "12345", - "text": "motion text", - "amendments": [ - { - "id": 2, - "title": "Amendment for 12345", - "amendment_paragraphs": ["New motion text"], - "identifier": "Ä1", - "merge_amendment_into_final": 0, - "merge_amendment_into_diff": 0, - "change_recommendations": [], - } - ], - "amendment_paragraphs": None, - "change_recommendations": [ - { - "id": 2, - "motion_id": 1, - "rejected": False, - "internal": False, - "type": 0, - "other_description": "", - "line_from": 1, - "line_to": 2, - "text": "public new motion text", - "creation_time": "2019-02-09T09:54:06.256378+01:00", - } - ], - "base_motion": None, - "base_statute": None, - "is_child": False, - "show_meta_box": False, - "show_referring_motions": True, - "reason": "", - "submitters": ["Administrator"], - "line_length": 85, - "line_numbering_mode": "outside", - "preamble": "The assembly may decide:", - "recommendation_referencing_motions": None, - } - - -@pytest.mark.asyncio -async def test_amendment_slide(all_data_provider): - element: Dict[str, Any] = {"id": 2} - - data = await projector.motion_slide(all_data_provider, element, 1) - - assert data == { - "identifier": "Ä1", - "title": "Amendment for 12345", - "text": "", - "amendments": [], - "amendment_paragraphs": ["New motion text"], - "change_recommendations": [], - "base_motion": {"identifier": "4", "text": "motion text", "title": "12345"}, - "base_statute": None, - "is_child": True, - "show_meta_box": False, - "show_referring_motions": True, - "reason": "", - "submitters": ["Administrator"], - "line_length": 85, - "line_numbering_mode": "outside", - "preamble": "The assembly may decide:", - "recommendation_referencing_motions": None, - } - - -@pytest.mark.asyncio -async def test_statute_amendment_slide(all_data_provider): - element: Dict[str, Any] = {"id": 3} - - data = await projector.motion_slide(all_data_provider, element, 1) - - assert data == { - "identifier": None, - "title": "Statute amendment for §1 Preamble", - "text": "Some other preamble text
", - "amendments": [], - "amendment_paragraphs": None, - "change_recommendations": [], - "base_motion": None, - "base_statute": {"title": "§1 Preamble", "text": "Some preamble text
"}, - "is_child": False, - "show_meta_box": False, - "show_referring_motions": True, - "reason": "", - "submitters": ["Administrator"], - "line_length": 85, - "line_numbering_mode": "outside", - "preamble": "The assembly may decide:", - "recommendation_referencing_motions": None, - }