def test_update_milestone(testrail_client, mocked_response):
    expected_milestone = Milestone(name='Test milestone', id=1)
    mocked_response(data_json=expected_milestone.to_json())

    api_milestone = testrail_client.milestones.update_milestone(
        milestone=expected_milestone)

    assert api_milestone == expected_milestone
 def update_milestone(self, milestone: Milestone) -> Milestone:
     """http://docs.gurock.com/testrail-api2/reference-milestones#update_milestone"""
     updated_milestone_data = milestone.to_json(include_none=False)
     milestone_data = self._request(
         f'update_milestone/{milestone.id}',
         method='POST',
         data=updated_milestone_data,
     )
     return Milestone.from_json(data_json=milestone_data)
def test_add_milestone_with_set_project(testrail_client, mocked_response):
    expected_milestone = Milestone(name='Test milestone', id=1)
    mocked_response(data_json=expected_milestone.to_json())
    testrail_client.set_project_id(project_id=1)

    api_milestone = testrail_client.milestones.add_milestone(
        milestone=expected_milestone)

    assert api_milestone == expected_milestone
 def add_milestone(
     self,
     milestone: Milestone,
     project_id: typing.Optional[ModelID] = None,
 ) -> Milestone:
     """http://docs.gurock.com/testrail-api2/reference-milestones#add_milestone"""
     project_id = project_id or self._project_id
     if project_id is None:
         raise TestRailException('Provide project id')
     new_milestone_data = milestone.to_json(include_none=False)
     milestone_data = self._request(
         f'add_milestone/{project_id}',
         method='POST',
         data=new_milestone_data,
     )
     return Milestone.from_json(data_json=milestone_data)
def test_add_milestone_raises(testrail_client, mocked_response):
    expected_milestone = Milestone(name='Test milestone', id=1)
    mocked_response(data_json=expected_milestone.to_json())

    with pytest.raises(TestRailException):
        testrail_client.milestones.add_milestone(milestone=expected_milestone)