コード例 #1
0
def test_sort_column():
    config = Configuration(os.path.join(MOCK_FOLDER_PATH, 'conf.ini'))
    config.load_properties()

    class MockClient(object):
        def add_to_column(*args, **kwargs):
            return

        def move_to_specific_place_in_column(*args, **kwargs):
            return

    mock_client = MockClient()
    # Sorting
    config.priority_list = DEFAULT_PRIORITY_LIST
    column_object = ProjectColumn(
        id="id", name="Review in progress",
        cards=[
            ItemCard(id="sdf",
                     item=Issue(id="sdf", title="issue 2", number=2, labels=["Low"])),
            ItemCard(id="sdf3",
                     item=Issue(id="sdf", title="issue 4", number=4, labels=["Medium"])),
            ItemCard(id="sdf2",
                     item=PullRequest(id="sdf2", title="pull request 3", number=3, labels=["High"])),
        ])

    column_object.sort_cards(mock_client, config)
    card_titles_in_column = [card.item.title for card in column_object.cards]

    assert card_titles_in_column == ['pull request 3', "issue 4", 'issue 2']
コード例 #2
0
def test_add_card_to_column():
    config = Configuration(os.path.join(MOCK_FOLDER_PATH, 'conf.ini'))
    config.load_properties()

    config.priority_list = DEFAULT_PRIORITY_LIST
    column_object = ProjectColumn(id="id", name="Review in progress",
                                  cards=[
                                      ItemCard(id="sdf",
                                               item=Issue(id="sdf", title="issue 2", number=2, labels=["Low"])),
                                      ItemCard(id="sdf2",
                                               item=Issue(id="sdf2", title="issue 3", number=3, labels=["High"]))
                                  ])
    issue_to_inject = Issue(
        id="4",
        title="issue 4",
        number=4,
        labels=['Medium']
    )
    issue_to_inject.set_priority(DEFAULT_PRIORITY_LIST)

    class MockClient(object):
        def add_to_column(*args, **kwargs):
            return

        def move_to_specific_place_in_column(*args, **kwargs):
            return

    mock_client = MockClient()

    # Sorting
    column_object.sort_cards(mock_client, config)
    card_titles_in_column = [card.item.title for card in column_object.cards]
    assert card_titles_in_column == ['issue 3', 'issue 2']

    # Adding in the middle
    column_object.add_card("id", issue_to_inject, mock_client)
    card_titles_in_column = [card.item.title for card in column_object.cards]
    assert card_titles_in_column == ['issue 3', 'issue 4', 'issue 2']

    # Higher priority addition
    issue_to_inject2 = Issue(
        id="5",
        title="issue 5",
        number=5,
        labels=['Critical']
    )
    issue_to_inject2.set_priority(DEFAULT_PRIORITY_LIST)

    column_object.add_card("id", issue_to_inject2, mock_client)
    card_titles_in_column = [card.item.title for card in column_object.cards]
    assert card_titles_in_column == ['issue 5', 'issue 3', 'issue 4', 'issue 2']

    # Lower priority addition
    pr_to_inject3 = PullRequest(
        id="6",
        title="pull request 6",
        number=6
    )

    column_object.add_card("id", pr_to_inject3, mock_client)
    card_titles_in_column = [card.item.title for card in column_object.cards]
    assert card_titles_in_column == ['issue 5', 'issue 3', 'issue 4', 'issue 2', "pull request 6"]

    # Same priority different number
    pr_to_inject4 = PullRequest(
        id="7",
        title="pull request 7",
        number=-1,
    )

    column_object.add_card("id", pr_to_inject4, mock_client)
    card_titles_in_column = [card.item.title for card in column_object.cards]
    assert card_titles_in_column == ['issue 5', 'issue 3', 'issue 4', 'issue 2', "pull request 7", "pull request 6"]