예제 #1
0
def in_progress_issue():
    return Issue(
        key="PROJ-111",
        created=datetime(2020, 5, 2, 12, 4, 1),
        started=datetime(2020, 5, 9, 9, 1, 0),
        completed=None,
        status="In Progress",
    )
예제 #2
0
def completed_issue():
    return Issue(
        key="PROJ-123",
        created=datetime(2020, 5, 2, 12, 4, 1),
        started=datetime(2020, 5, 10, 9, 1, 0),
        completed=datetime(2020, 5, 16, 14, 10, 30),
        status="Done",
    )
예제 #3
0
def analysis_ticket():
    return Issue(
        key="PROJ-123",
        created=datetime(2020, 5, 10, 1, 2, 3),
        completed=datetime(2020, 5, 20, 5, 1, 2),
        started=datetime(2020, 5, 11, 2, 2, 2),
        status="Done",
    )
예제 #4
0
def incomplete_issue():
    return Issue(
        key="PROJ-123",
        created=datetime(2020, 3, 1, 1, 4, 1),
        completed=None,
        started=datetime(2020, 4, 2, 12, 0, 12),
        status="In progress",
    )
예제 #5
0
def complete_issue():
    return Issue(
        key="PROJ-123",
        created=datetime(2020, 3, 1, 1, 4, 1),
        completed=datetime(2020, 4, 6, 12, 0, 12),
        started=datetime(2020, 4, 2, 12, 0, 12),
        status="Done",
    )
예제 #6
0
def issues():
    return [
        Issue(
            key="PROJ-123",
            created=datetime(2020, 1, 10, 15, 1, 1),
            completed=datetime(2020, 5, 10, 14, 41, 10),
            started=datetime(2020, 4, 30, 9, 10, 11),
            status="Done",
        ),
        Issue(
            key="PROJ-111",
            created=datetime(2020, 1, 10, 15, 1, 1),
            completed=datetime(2020, 5, 10, 14, 41, 10),
            started=datetime(2020, 4, 30, 9, 10, 11),
            status="Done",
        ),
        Issue(
            key="PROJ-4",
            created=datetime(2020, 3, 10, 15, 1, 1),
            completed=datetime(2020, 4, 10, 14, 41, 10),
            started=datetime(2020, 2, 29, 9, 10, 11),
            status="Done",
        ),
        Issue(
            key="PROJ-123",
            created=datetime(2020, 1, 10, 15, 1, 1),
            completed=datetime(2020, 5, 10, 14, 41, 10),
            started=datetime(2020, 4, 30, 9, 10, 11),
            status="Done",
        ),
        Issue(
            key="PROJ-111",
            created=datetime(2020, 1, 10, 15, 1, 1),
            completed=datetime(2020, 5, 10, 14, 41, 10),
            started=datetime(2020, 4, 30, 9, 10, 11),
            status="Done",
        ),
        Issue(
            key="PROJ-4",
            created=datetime(2020, 3, 10, 15, 1, 1),
            completed=datetime(2020, 4, 10, 14, 41, 10),
            started=datetime(2020, 2, 29, 9, 10, 11),
            status="Done",
        ),
    ]
예제 #7
0
    create_chart, render_func = chart
    generate_control_chart(issues, create_chart)

    assert render_func.call_count == 1


@pytest.mark.parametrize(
    "tickets, exception",
    (
        pytest.param([], NoTicketsProvided, id="no-tickets"),
        pytest.param(
            [
                Issue(
                    key="PROJ-4",
                    created=datetime(2020, 3, 10, 15, 1, 1),
                    completed=None,
                    started=None,
                    status="To Do",
                )
            ],
            ChartError,
            id="no-completed-issues",
        ),
    ),
)
def test_generate_control_chart_errors(tickets, exception, chart):
    create_chart, render_func = chart
    with pytest.raises(exception):
        generate_control_chart(tickets, create_chart)

    assert not render_func.called