diff --git a/bedevere/prtype.py b/bedevere/prtype.py index 5136c74a..9a78bf2b 100644 --- a/bedevere/prtype.py +++ b/bedevere/prtype.py @@ -50,11 +50,10 @@ async def classify_by_filepaths(gh, pull_request, filenames): else: return pr_labels if tests: - pr_labels = [Labels.tests] + pr_labels.append(Labels.tests) elif docs: - if news: - pr_labels = [Labels.docs] - else: - pr_labels = [Labels.docs, Labels.skip_news] + pr_labels.append(Labels.docs) + if (tests or docs) and not news: + pr_labels.append(Labels.skip_news) await add_labels(gh, issue, pr_labels) return pr_labels diff --git a/tests/test_filepaths.py b/tests/test_filepaths.py index 761ce90b..576c946e 100644 --- a/tests/test_filepaths.py +++ b/tests/test_filepaths.py @@ -139,10 +139,12 @@ async def test_tests_only(author_association): gh.getiter_url == "https://api.github.com/repos/cpython/python/pulls/1234/files" ) assert gh.getitem_url == "https://api.github.com/repos/cpython/python/issue/1234" - assert len(gh.post_url) == 3 if author_association == "NONE" else 2 + assert len(gh.post_url) == 1 assert gh.post_url.pop(0) == "https://api.github.com/some/label" - assert gh.post_data.pop(0) == [Labels.tests.value] - check_n_pop_nonews_events(gh, author_association == "NONE") + assert gh.post_data.pop(0) == [Labels.tests.value, Labels.skip_news.value] + # Don't post any comment + assert gh.post_url == [] + assert gh.post_data == [] async def test_docs_and_tests(): @@ -176,12 +178,10 @@ async def test_docs_and_tests(): gh.getiter_url == "https://api.github.com/repos/cpython/python/pulls/1234/files" ) assert gh.getitem_url == "https://api.github.com/repos/cpython/python/issue/1234" - # Only creates type-tests label. - assert len(gh.post_url) == 2 + # Only creates tests label. + assert len(gh.post_url) == 1 assert gh.post_url[0] == "https://api.github.com/some/label" assert gh.post_data[0] == [Labels.tests.value] - assert gh.post_url[1] == "https://api.github.com/some/status" - assert gh.post_data[1]["state"] == "success" async def test_news_and_tests(): diff --git a/tests/test_prtype.py b/tests/test_prtype.py index 158b97d4..055aca99 100644 --- a/tests/test_prtype.py +++ b/tests/test_prtype.py @@ -27,7 +27,7 @@ async def post(self, url, *, data): async def test_no_files(): filenames = {} - issue = {"labels": []} + issue = {"labels": [], "labels_url": "https://api.github.com/some/label"} gh = FakeGH(getitem=issue) event_data = { "action": "opened", @@ -142,7 +142,7 @@ async def test_tests_only(): assert gh.getitem_url == "https://api.github.com/repos/cpython/python/issue/1234" assert len(gh.post_url) == 1 assert gh.post_url[0] == "https://api.github.com/some/label" - assert gh.post_data[0] == [Labels.tests.value] + assert gh.post_data[0] == [Labels.tests.value, Labels.skip_news.value] async def test_tests_and_testmods_only(): @@ -162,7 +162,7 @@ async def test_tests_and_testmods_only(): assert gh.getitem_url == "https://api.github.com/repos/cpython/python/issue/1234" assert len(gh.post_url) == 1 assert gh.post_url[0] == "https://api.github.com/some/label" - assert gh.post_data[0] == [Labels.tests.value] + assert gh.post_data[0] == [Labels.tests.value, Labels.skip_news.value] async def test_docs_and_tests(): @@ -183,7 +183,7 @@ async def test_docs_and_tests(): } await prtype.classify_by_filepaths(gh, event_data["pull_request"], filenames) assert gh.getitem_url == "https://api.github.com/repos/cpython/python/issue/1234" - # Only creates type-tests label. + # Only creates tests label. assert len(gh.post_url) == 1 assert gh.post_url[0] == "https://api.github.com/some/label" assert gh.post_data[0] == [Labels.tests.value]