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']
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"]