@@ -27,7 +27,7 @@ def setUp(self):
27
27
privacy_level = PUBLIC ,
28
28
main_language_project = None ,
29
29
)
30
- self .pip .versions .update (privacy_level = PUBLIC )
30
+ self .pip .versions .update (privacy_level = PUBLIC , built = True )
31
31
32
32
self .latest = self .pip .versions .get (slug = LATEST )
33
33
self .url = (
@@ -224,6 +224,62 @@ def test_hidden_versions(self):
224
224
self .assertIn ('/en/latest/' , response .data ['html' ])
225
225
self .assertNotIn ('/en/2.0/' , response .data ['html' ])
226
226
227
+ def test_built_versions (self ):
228
+ built_version = get (
229
+ Version ,
230
+ slug = '2.0' ,
231
+ active = True ,
232
+ built = True ,
233
+ privacy_level = PUBLIC ,
234
+ project = self .pip ,
235
+ )
236
+
237
+ # The built versions appears on the footer
238
+ self .url = (
239
+ reverse ('footer_html' ) +
240
+ f'?project={ self .pip .slug } &version={ self .latest .slug } &page=index&docroot=/'
241
+ )
242
+ response = self .render ()
243
+ self .assertIn ('/en/latest/' , response .data ['html' ])
244
+ self .assertIn ('/en/2.0/' , response .data ['html' ])
245
+
246
+ # We can access the built version, and it appears on the footer
247
+ self .url = (
248
+ reverse ('footer_html' ) +
249
+ f'?project={ self .pip .slug } &version={ built_version .slug } &page=index&docroot=/'
250
+ )
251
+ response = self .render ()
252
+ self .assertIn ('/en/latest/' , response .data ['html' ])
253
+ self .assertIn ('/en/2.0/' , response .data ['html' ])
254
+
255
+ def test_not_built_versions (self ):
256
+ not_built_version = get (
257
+ Version ,
258
+ slug = '2.0' ,
259
+ active = True ,
260
+ built = False ,
261
+ privacy_level = PUBLIC ,
262
+ project = self .pip ,
263
+ )
264
+
265
+ # The un-built version doesn't appear on the footer
266
+ self .url = (
267
+ reverse ('footer_html' ) +
268
+ f'?project={ self .pip .slug } &version={ self .latest .slug } &page=index&docroot=/'
269
+ )
270
+ response = self .render ()
271
+ self .assertIn ('/en/latest/' , response .data ['html' ])
272
+ self .assertNotIn ('/en/2.0/' , response .data ['html' ])
273
+
274
+ # We can access the unbuilt version, but it doesn't appear on the footer
275
+ self .url = (
276
+ reverse ('footer_html' ) +
277
+ f'?project={ self .pip .slug } &version={ not_built_version .slug } &page=index&docroot=/'
278
+ )
279
+ response = self .render ()
280
+ self .assertIn ('/en/latest/' , response .data ['html' ])
281
+ self .assertNotIn ('/en/2.0/' , response .data ['html' ])
282
+
227
283
228
284
class TestFooterHTML (BaseTestFooterHTML , TestCase ):
229
285
@@ -389,6 +445,7 @@ def test_version_queries(self):
389
445
identifier = identifier ,
390
446
type = TAG ,
391
447
active = True ,
448
+ built = True ,
392
449
)
393
450
394
451
with self .assertNumQueries (self .EXPECTED_QUERIES ):
0 commit comments