Skip to content

Commit bee463f

Browse files
authored
feat(branches): add param acceptSourceChanges to MergeBranch (#235)
1 parent 4005f42 commit bee463f

2 files changed

Lines changed: 38 additions & 1 deletion

File tree

crowdin_api/api_resources/branches/tests/test_branches.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
from crowdin_api.api_resources.branches.enums import ListBranchesOrderBy, EditBranchPatchPath
66
from crowdin_api.api_resources.branches.resource import BranchesResource
7-
from crowdin_api.api_resources.branches.types import CloneBranchRequest, AddBranchRequest, EditBranchPatch
7+
from crowdin_api.api_resources.branches.types import CloneBranchRequest, AddBranchRequest, EditBranchPatch, \
8+
MergeBranchRequest
89
from crowdin_api.api_resources.enums import PatchOperation
910
from crowdin_api.requester import APIRequester
1011
from crowdin_api.sorting import SortingRule, Sorting, SortingOrder
@@ -205,3 +206,38 @@ def test_edit_branch(self, m_request, in_body, request_body, base_absolut_url):
205206
path=f"projects/{project_id}/branches/{branch_id}",
206207
request_data=request_body
207208
)
209+
210+
@pytest.mark.parametrize(
211+
"in_data, request_data",
212+
(
213+
(
214+
MergeBranchRequest(
215+
sourceBranchId=1,
216+
deleteAfterMerge=True,
217+
dryRun=True,
218+
acceptSourceChanges=True
219+
),
220+
{
221+
"sourceBranchId": 1,
222+
"deleteAfterMerge": True,
223+
"dryRun": True,
224+
"acceptSourceChanges": True
225+
}
226+
),
227+
),
228+
)
229+
@mock.patch("crowdin_api.requester.APIRequester.request")
230+
def test_merge_branches(self, m_request, in_data, request_data, base_absolut_url):
231+
m_request.return_value = "response"
232+
233+
project_id = 1
234+
branch_id = 2
235+
236+
resource = self.get_resource(base_absolut_url)
237+
assert resource.merge_branch(project_id, branch_id, in_data) == "response"
238+
239+
m_request.assert_called_once_with(
240+
method="post",
241+
path=f"projects/{project_id}/branches/{branch_id}/merges",
242+
request_data=request_data,
243+
)

crowdin_api/api_resources/branches/types.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@ class MergeBranchRequest(TypedDict):
2424
deleteAfterMerge: Optional[bool]
2525
sourceBranchId: int
2626
dryRun: Optional[bool]
27+
acceptSourceChanges: Optional[bool]

0 commit comments

Comments
 (0)