def test_process_submitted_drafts_with_bad_and_good_service(mock_data_client):
    bad_service = COMPLETE_RESEARCH_PARTICIPANTS_DRAFT.copy()
    bad_service['anonymousRecruitment'] = False
    bad_service['id'] = 24
    mock_data_client.find_draft_services_iter.return_value = iter((bad_service, COMPLETE_STUDIOS_DRAFT,))
    assert process_submitted_drafts(mock_data_client, 12345, 'user') is True
    mock_data_client.update_draft_service_status.assert_called_with(24, 'failed', 'user')
def test_process_submitted_drafts_for_good_services(mock_data_client):
    mock_data_client.find_draft_services_iter.return_value = iter((
        COMPLETE_OUTCOMES_DRAFT,
        COMPLETE_RESEARCH_PARTICIPANTS_DRAFT,
    ))
    assert process_submitted_drafts(mock_data_client, 12345, 'user') is True
    mock_data_client.update_draft_service_status.assert_not_called()
def test_process_submitted_drafts_with_bad_service(mock_data_client):
    bad_service = COMPLETE_RESEARCH_PARTICIPANTS_DRAFT.copy()
    bad_service['anonymousRecruitment'] = False
    bad_service['id'] = 42
    mock_data_client.find_draft_services.return_value = {
        "services": [bad_service]
    }
    assert process_submitted_drafts(mock_data_client, 12345, 'user') is False
    mock_data_client.update_draft_service_status.assert_called_with(42, 'failed', 'user')