@@ -10,9 +10,11 @@ import (
10
10
"testing"
11
11
"time"
12
12
13
+ "code.gitea.io/gitea/models"
13
14
"code.gitea.io/gitea/modules/setting"
14
15
"code.gitea.io/gitea/modules/test"
15
16
17
+ "github.com/PuerkitoBio/goquery"
16
18
"github.com/stretchr/testify/assert"
17
19
"github.com/unknwon/i18n"
18
20
)
@@ -83,7 +85,7 @@ func TestCreateRelease(t *testing.T) {
83
85
session := loginUser (t , "user2" )
84
86
createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , false , false )
85
87
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 )
87
89
}
88
90
89
91
func TestCreateReleasePreRelease (t * testing.T ) {
@@ -92,7 +94,7 @@ func TestCreateReleasePreRelease(t *testing.T) {
92
94
session := loginUser (t , "user2" )
93
95
createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , true , false )
94
96
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 )
96
98
}
97
99
98
100
func TestCreateReleaseDraft (t * testing.T ) {
@@ -101,7 +103,7 @@ func TestCreateReleaseDraft(t *testing.T) {
101
103
session := loginUser (t , "user2" )
102
104
createNewRelease (t , session , "/user2/repo1" , "v0.0.1" , "v0.0.1" , false , true )
103
105
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 )
105
107
}
106
108
107
109
func TestCreateReleasePaging (t * testing.T ) {
@@ -127,3 +129,80 @@ func TestCreateReleasePaging(t *testing.T) {
127
129
session2 := loginUser (t , "user4" )
128
130
checkLatestReleaseAndCount (t , session2 , "/user2/repo1" , "v0.0.11" , i18n .Tr ("en" , "repo.release.stable" ), 10 )
129
131
}
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