Skip to content

Commit ba767cf

Browse files
committed
feat: Support the "noPageBreak" rendering layout field
1 parent a7f7cfc commit ba767cf

5 files changed

Lines changed: 24 additions & 5 deletions

File tree

polarion_rest_api_client/data_models.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,18 @@
3535
"WorkItemLink",
3636
]
3737

38-
BOOLEAN_RENDERING_PROPERTIES = ["fieldsAtEndAsTable", "hidden"]
38+
BOOLEAN_RENDERING_PROPERTIES = [
39+
"fieldsAtEndAsTable",
40+
"hidden",
41+
"noPageBreak",
42+
]
3943
RENDERING_LAYOUT_FIELDS = {
4044
"fieldsAtEndAsTable": "fields_at_end_as_table",
4145
"fieldsAtStart": "fields_at_start",
4246
"fieldsAtEnd": "fields_at_end",
4347
"sidebarWorkItemFields": "sidebar_work_item_fields",
4448
"hidden": "hidden",
49+
"noPageBreak": "no_page_break",
4550
}
4651

4752

@@ -326,6 +331,7 @@ class RenderingProperties:
326331
sidebar_work_item_fields: list[str] | None = None
327332
fields_at_end_as_table: bool = False
328333
hidden: bool = False
334+
no_page_break: bool = False
329335

330336
def serialize(self) -> list[dict[str, t.Any]]:
331337
"""Serialize an instance of this class to be sent via the API."""

tests/data/expected_requests/create_document.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
{ "key": "fieldsAtStart", "value": "id" },
1919
{ "key": "fieldsAtEnd", "value": "custom" },
2020
{ "key": "sidebarWorkItemFields", "value": "id" },
21-
{ "key": "hidden", "value": "false" }
21+
{ "key": "hidden", "value": "false" },
22+
{ "key": "noPageBreak", "value": "true" }
2223
],
2324
"type": "task"
2425
},
@@ -28,7 +29,8 @@
2829
"properties": [
2930
{ "key": "fieldsAtEndAsTable", "value": "false" },
3031
{ "key": "fieldsAtStart", "value": "id" },
31-
{ "key": "hidden", "value": "false" }
32+
{ "key": "hidden", "value": "false" },
33+
{ "key": "noPageBreak", "value": "false" }
3234
],
3335
"type": "task2"
3436
}

tests/data/expected_requests/update_document_2.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
{ "key": "fieldsAtStart", "value": "id" },
1414
{ "key": "fieldsAtEnd", "value": "custom" },
1515
{ "key": "sidebarWorkItemFields", "value": "id" },
16-
{ "key": "hidden", "value": "true" }
16+
{ "key": "hidden", "value": "true" },
17+
{ "key": "noPageBreak", "value": "true" }
1718
],
1819
"type": "task"
1920
},
@@ -23,7 +24,8 @@
2324
"properties": [
2425
{ "key": "fieldsAtEndAsTable", "value": "false" },
2526
{ "key": "fieldsAtStart", "value": "id" },
26-
{ "key": "hidden", "value": "false" }
27+
{ "key": "hidden", "value": "false" },
28+
{ "key": "noPageBreak", "value": "false" }
2729
],
2830
"type": "task2"
2931
}

tests/data/mock_api_responses/get_document.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
{
3636
"key": "fieldsAtEndAsTable",
3737
"value": "true"
38+
},
39+
{
40+
"key": "noPageBreak",
41+
"value": "true"
3842
}
3943
]
4044
}

tests/test_client_documents.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def test_get_document_with_all_fields(
5252
fields_at_end=["custom", "bla"],
5353
sidebar_work_item_fields=["id"],
5454
fields_at_end_as_table=True,
55+
no_page_break=True,
5556
),
5657
),
5758
],
@@ -89,6 +90,7 @@ def test_create_new_document(
8990
fields_at_end=["custom"],
9091
sidebar_work_item_fields=["id"],
9192
fields_at_end_as_table=True,
93+
no_page_break=True,
9294
),
9395
),
9496
data_models.RenderingLayout(
@@ -97,6 +99,7 @@ def test_create_new_document(
9799
layouter=data_models.Layouter("paragraph"),
98100
properties=data_models.RenderingProperties(
99101
fields_at_start=["id"],
102+
no_page_break=False,
100103
),
101104
),
102105
],
@@ -166,6 +169,7 @@ def test_update_document(
166169
fields_at_end=["custom"],
167170
sidebar_work_item_fields=["id"],
168171
hidden=True,
172+
no_page_break=True,
169173
),
170174
),
171175
data_models.RenderingLayout(
@@ -174,6 +178,7 @@ def test_update_document(
174178
layouter=data_models.Layouter("paragraph"),
175179
properties=data_models.RenderingProperties(
176180
fields_at_start=["id"],
181+
no_page_break=False,
177182
),
178183
),
179184
],

0 commit comments

Comments
 (0)