Skip to content

Commit 8cb195b

Browse files
committed
Add improvements and tests
1 parent 59b85c9 commit 8cb195b

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

readthedocs/core/utils/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,12 @@ def prepare_build(
9595
return (None, None)
9696

9797
if not version:
98-
version = project.versions.get(slug=project.get_default_branch())
98+
default_branch = project.get_default_branch()
99+
version_ = project.versions.filter(slug=default_branch)
100+
if version_.exists():
101+
version = version_.first()
102+
else:
103+
version = project.versions.get(slug=LATEST)
99104

100105
kwargs = {
101106
'version_pk': version.pk,

readthedocs/rtd_tests/tests/test_core_utils.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_trigger_skipped_project(self, update_docs_task):
3636
self.assertFalse(update_docs_task.signature().apply_async.called)
3737

3838
@mock.patch('readthedocs.projects.tasks.update_docs_task')
39-
def test_trigger_build_when_latest_is_not_activated(self, update_docs_task):
39+
def test_trigger_build_when_default_branch_exists(self, update_docs_task):
4040
self.assertFalse(Version.objects.filter(slug='test-slug').exists())
4141

4242
project_1 = get(Project)
@@ -61,6 +61,28 @@ def test_trigger_build_when_latest_is_not_activated(self, update_docs_task):
6161
),
6262
])
6363

64+
@mock.patch('readthedocs.projects.tasks.update_docs_task')
65+
def test_trigger_build_when_default_branch_doesnt_exist(self, update_docs_task):
66+
project_1 = get(Project, default_branch=None)
67+
latest_version = project_1.versions.get(slug=LATEST)
68+
69+
trigger_build(project=project_1)
70+
kwargs = {
71+
'version_pk': latest_version.pk,
72+
'record': True,
73+
'force': False,
74+
'build_pk': mock.ANY
75+
}
76+
77+
update_docs_task.signature.assert_has_calls([
78+
mock.call(
79+
args=(project_1.pk,),
80+
kwargs=kwargs,
81+
options=mock.ANY,
82+
immutable=True,
83+
),
84+
])
85+
6486
@mock.patch('readthedocs.projects.tasks.update_docs_task')
6587
def test_trigger_custom_queue(self, update_docs):
6688
"""Use a custom queue when routing the task."""

0 commit comments

Comments
 (0)