Skip to content

Commit a2c731a

Browse files
committed
Add test for building by commit
1 parent 3a6d1e6 commit a2c731a

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

readthedocs/builds/views.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ def post(self, request, project_slug):
5858
build_pk = request.POST.get('build_pk')
5959

6060
version = get_object_or_404(
61-
self._get_versions(project),
61+
# Don't filter by internal/external here so we can build all versions
62+
Version.objects.public(self.request.user),
6263
slug=version_slug,
6364
)
6465

readthedocs/rtd_tests/tests/test_views.py

+16
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,22 @@ def test_build_list_includes_external_versions(self):
263263
self.assertEqual(response.status_code, 200)
264264
self.assertIn(external_version_build, response.context['build_qs'])
265265

266+
@mock.patch('readthedocs.projects.tasks.update_docs_task')
267+
def test_build_commit_external_version(self, mock):
268+
ver = self.pip.versions.first()
269+
ver.commit = 'asd324653546'
270+
ver.type = 'external'
271+
ver.save()
272+
build = get(Build, version=ver, project=self.pip)
273+
build.save()
274+
r = self.client.post('/projects/pip/builds/',
275+
{'version_slug': ver.slug, 'commit': ver.commit, 'build_pk': build.pk}
276+
)
277+
self.assertEqual(r.status_code, 302)
278+
self.assertEqual(
279+
r._headers['location'][1],
280+
'/projects/pip/builds/%s/' % build.pk,
281+
)
266282

267283
class TestSearchAnalyticsView(TestCase):
268284

0 commit comments

Comments
 (0)