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 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 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)