|
4 | 4 |
|
5 | 5 | from crowdin_api.api_resources.branches.enums import ListBranchesOrderBy, EditBranchPatchPath |
6 | 6 | 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 |
8 | 9 | from crowdin_api.api_resources.enums import PatchOperation |
9 | 10 | from crowdin_api.requester import APIRequester |
10 | 11 | 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): |
205 | 206 | path=f"projects/{project_id}/branches/{branch_id}", |
206 | 207 | request_data=request_body |
207 | 208 | ) |
| 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 | + ) |
0 commit comments