def test_edit_issue_when_passing_both_transition_and_status(mocker): """ Given: - Transition and status for an issue When - A user passes to edit_issue command both parameters Then - Error is being returned saying both parameters can't be passed """ from JiraV2 import edit_issue_command mocker.patch("JiraV2.jira_req", return_value=None) mocker.patch("JiraV2.get_issue_fields", return_value=None) mocker.patch("JiraV2.get_issue", return_value=True) mocker.patch( "JiraV2.list_transitions_data_for_issue", return_value={"transitions": [{"name": "To Do", "id": 1}]}, ) mocked_return_error = mocker.patch("JiraV2.return_error", return_value=None) mocked_edit_transition = mocker.patch("JiraV2.edit_transition", return_value=None) mocked_edit_status = mocker.patch("JiraV2.edit_status", return_value=None) edit_issue_command("1234", transition="To Do", status="To Do") assert mocked_return_error.call_count == 1 assert mocked_edit_status.call_count == 0 assert mocked_edit_transition.call_count == 0
def test_edit_issue_transition(mocker): """ Given: - New transition for an issue When - Need to change transition type in order to change the issue's status Then - An issue has a new transition """ from JiraV2 import ( edit_issue_command, edit_transition, ) mocker.patch("JiraV2.jira_req", return_value=None) mocker.patch("JiraV2.get_issue_fields", return_value=None) mocker.patch("JiraV2.get_issue", return_value=True) mocker.patch( "JiraV2.list_transitions_data_for_issue", return_value={"transitions": [{"name": "To Do", "id": 1}]}, ) mocked_return_error = mocker.patch("JiraV2.return_error", return_value=None) mocked_edit_transition = mocker.patch( "JiraV2.edit_transition", side_effect=edit_transition ) mocked_edit_status = mocker.patch("JiraV2.edit_status", return_value=None) res = edit_issue_command("1234", transition="To Do") assert mocked_return_error.call_count == 0 assert mocked_edit_status.call_count == 0 assert mocked_edit_transition.call_count == 1 assert res is True