File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,28 @@ def test_latest_python3(self):
7474 latest_3_99 = Release .objects .latest_python3 (minor_version = 99 )
7575 self .assertIsNone (latest_3_99 )
7676
77+ def test_latest_prerelease (self ):
78+ latest_prerelease = Release .objects .latest_prerelease ()
79+ self .assertEqual (latest_prerelease , self .pre_release )
80+
81+ # Create a newer prerelease with a future date
82+ newer_prerelease = Release .objects .create (
83+ version = Release .PYTHON3 ,
84+ name = "Python 3.9.99" ,
85+ is_published = True ,
86+ pre_release = True ,
87+ release_date = self .pre_release .release_date + dt .timedelta (days = 1 ),
88+ )
89+ latest_prerelease = Release .objects .latest_prerelease ()
90+ self .assertEqual (latest_prerelease , newer_prerelease )
91+ self .assertNotEqual (latest_prerelease , self .pre_release )
92+
93+ def test_latest_prerelease_when_no_prerelease (self ):
94+ # Delete the prerelease
95+ self .pre_release .delete ()
96+ latest_prerelease = Release .objects .latest_prerelease ()
97+ self .assertIsNone (latest_prerelease )
98+
7799 def test_get_version (self ):
78100 self .assertEqual (self .release_275 .name , 'Python 2.7.5' )
79101 self .assertEqual (self .release_275 .get_version (), '2.7.5' )
Original file line number Diff line number Diff line change @@ -95,6 +95,18 @@ def test_latest_python3x_redirects(self):
9595 response = self .client .get (url )
9696 self .assertRedirects (response , reverse ("download:download" ))
9797
98+ def test_latest_prerelease_redirect (self ):
99+ url = reverse ("download:download_latest_prerelease" )
100+ response = self .client .get (url )
101+ self .assertRedirects (response , self .pre_release .get_absolute_url ())
102+
103+ def test_latest_prerelease_redirect_when_no_prerelease (self ):
104+ # Delete the prerelease to test fallback
105+ self .pre_release .delete ()
106+ url = reverse ("download:download_latest_prerelease" )
107+ response = self .client .get (url )
108+ self .assertRedirects (response , reverse ("download:download" ))
109+
98110 def test_redirect_page_object_to_release_detail_page (self ):
99111 self .release_275 .release_page = None
100112 self .release_275 .save ()
You can’t perform that action at this time.
0 commit comments