@@ -10,9 +10,11 @@ import (
1010 "testing"
1111 "time"
1212
13+ "code.gitea.io/gitea/models"
1314 "code.gitea.io/gitea/modules/setting"
1415 "code.gitea.io/gitea/modules/test"
1516
17+ "github.com/PuerkitoBio/goquery"
1618 "github.com/stretchr/testify/assert"
1719 "github.com/unknwon/i18n"
1820)
@@ -83,7 +85,7 @@ func TestCreateRelease(t *testing.T) {
8385 session := loginUser (t , "user2" )
8486 createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , false , false )
8587
86- checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.stable" ), 2 )
88+ checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.stable" ), 3 )
8789}
8890
8991func TestCreateReleasePreRelease (t * testing.T ) {
@@ -92,7 +94,7 @@ func TestCreateReleasePreRelease(t *testing.T) {
9294 session := loginUser (t , "user2" )
9395 createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , true , false )
9496
95- checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.prerelease" ), 2 )
97+ checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.prerelease" ), 3 )
9698}
9799
98100func TestCreateReleaseDraft (t * testing.T ) {
@@ -101,7 +103,7 @@ func TestCreateReleaseDraft(t *testing.T) {
101103 session := loginUser (t , "user2" )
102104 createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , false , true )
103105
104- checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.draft" ), 2 )
106+ checkLatestReleaseAndCount (t , session , "/user2/repo1" , "v0.0.1" , i18n .Tr ("en" , "repo.release.draft" ), 3 )
105107}
106108
107109func TestCreateReleasePaging (t * testing.T ) {
@@ -127,3 +129,80 @@ func TestCreateReleasePaging(t *testing.T) {
127129 session2 := loginUser (t , "user4" )
128130 checkLatestReleaseAndCount (t , session2 , "/user2/repo1" , "v0.0.11" , i18n .Tr ("en" , "repo.release.stable" ), 10 )
129131}
132+
133+ func TestViewReleaseListNoLogin (t * testing.T ) {
134+ defer prepareTestEnv (t )()
135+
136+ repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 }).(* models.Repository )
137+
138+ link := repo .Link () + "/releases"
139+
140+ req := NewRequest (t , "GET" , link )
141+ rsp := MakeRequest (t , req , http .StatusOK )
142+
143+ htmlDoc := NewHTMLParser (t , rsp .Body )
144+ releases := htmlDoc .Find ("#release-list li.ui.grid" )
145+ assert .Equal (t , 1 , releases .Length ())
146+
147+ links := make ([]string , 0 , 5 )
148+ releases .Each (func (i int , s * goquery.Selection ) {
149+ link , exist := s .Find (".release-list-title a" ).Attr ("href" )
150+ if ! exist {
151+ return
152+ }
153+ links = append (links , link )
154+ })
155+
156+ assert .EqualValues (t , []string {"/user2/repo1/releases/tag/v1.1" }, links )
157+ }
158+
159+ func TestViewReleaseListLogin (t * testing.T ) {
160+ defer prepareTestEnv (t )()
161+
162+ repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 }).(* models.Repository )
163+
164+ link := repo .Link () + "/releases"
165+
166+ session := loginUser (t , "user1" )
167+ req := NewRequest (t , "GET" , link )
168+ rsp := session .MakeRequest (t , req , http .StatusOK )
169+
170+ htmlDoc := NewHTMLParser (t , rsp .Body )
171+ releases := htmlDoc .Find ("#release-list li.ui.grid" )
172+ assert .Equal (t , 2 , releases .Length ())
173+
174+ links := make ([]string , 0 , 5 )
175+ releases .Each (func (i int , s * goquery.Selection ) {
176+ link , exist := s .Find (".release-list-title a" ).Attr ("href" )
177+ if ! exist {
178+ return
179+ }
180+ links = append (links , link )
181+ })
182+
183+ assert .EqualValues (t , []string {"/user2/repo1/releases/tag/draft-release" ,
184+ "/user2/repo1/releases/tag/v1.1" }, links )
185+ }
186+
187+ func TestViewTagsList (t * testing.T ) {
188+ defer prepareTestEnv (t )()
189+
190+ repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 }).(* models.Repository )
191+
192+ link := repo .Link () + "/tags"
193+
194+ session := loginUser (t , "user1" )
195+ req := NewRequest (t , "GET" , link )
196+ rsp := session .MakeRequest (t , req , http .StatusOK )
197+
198+ htmlDoc := NewHTMLParser (t , rsp .Body )
199+ tags := htmlDoc .Find (".tag-list tr" )
200+ assert .Equal (t , 2 , tags .Length ())
201+
202+ tagNames := make ([]string , 0 , 5 )
203+ tags .Each (func (i int , s * goquery.Selection ) {
204+ tagNames = append (tagNames , s .Find (".tag a.df.ac" ).Text ())
205+ })
206+
207+ assert .EqualValues (t , []string {"delete-tag" , "v1.1" }, tagNames )
208+ }
0 commit comments