44package shared
55
66import (
7- "net/url"
87 "testing"
98 "time"
109
1110 actions_model "code.gitea.io/gitea/models/actions"
1211 "code.gitea.io/gitea/models/unittest"
13- "code.gitea.io/gitea/services/context"
1412 "code.gitea.io/gitea/services/contexttest"
1513
1614 "github.com/stretchr/testify/assert"
@@ -20,15 +18,6 @@ func TestMain(m *testing.M) {
2018 unittest .MainTest (m )
2119}
2220
23- // setFormValue is a helper function to set form values in test context
24- func setFormValue (ctx * context.APIContext , key , value string ) {
25- // Initialize the form if it's nil
26- if ctx .Req .Form == nil {
27- ctx .Req .Form = make (url.Values )
28- }
29- ctx .Req .Form .Set (key , value )
30- }
31-
3221// TestListRunsWorkflowFiltering tests that ListRuns properly handles
3322// the workflow_id path parameter for filtering runs by workflow.
3423func TestListRunsWorkflowFiltering (t * testing.T ) {
@@ -77,108 +66,65 @@ func TestListRunsExcludePullRequestsParam(t *testing.T) {
7766 unittest .PrepareTestEnv (t )
7867
7968 // Test case 1: With exclude_pull_requests=true
80- ctx , _ := contexttest .MockAPIContext (t , "user2/repo1" )
69+ ctx , _ := contexttest .MockAPIContext (t , "user2/repo1?exclude_pull_requests=true " )
8170 contexttest .LoadRepo (t , ctx , 1 )
8271 contexttest .LoadUser (t , ctx , 2 )
8372
84- // Set up form value
85- setFormValue (ctx , "exclude_pull_requests" , "true" )
86-
8773 // Call the actual parsing logic from ListRuns
8874 opts := actions_model.FindRunOptions {
8975 RepoID : ctx .Repo .Repository .ID ,
9076 }
9177
92- if exclude := ctx .FormString ("exclude_pull_requests" ); exclude != "" {
93- if exclude == "true" || exclude == "1" {
94- opts .ExcludePullRequests = true
95- }
78+ if ctx .FormBool ("exclude_pull_requests" ) {
79+ opts .ExcludePullRequests = true
9680 }
9781
9882 // Verify the ExcludePullRequests is correctly set based on the form value
9983 assert .True (t , opts .ExcludePullRequests )
10084
10185 // Test case 2: With exclude_pull_requests=1
102- ctx2 , _ := contexttest .MockAPIContext (t , "user2/repo1" )
86+ ctx2 , _ := contexttest .MockAPIContext (t , "user2/repo1?exclude_pull_requests=1 " )
10387 contexttest .LoadRepo (t , ctx2 , 1 )
10488 contexttest .LoadUser (t , ctx2 , 2 )
10589
106- setFormValue (ctx2 , "exclude_pull_requests" , "1" )
107-
10890 opts2 := actions_model.FindRunOptions {
10991 RepoID : ctx2 .Repo .Repository .ID ,
11092 }
11193
112- if exclude := ctx2 .FormString ("exclude_pull_requests" ); exclude != "" {
113- if exclude == "true" || exclude == "1" {
114- opts2 .ExcludePullRequests = true
115- }
94+ if ctx2 .FormBool ("exclude_pull_requests" ) {
95+ opts2 .ExcludePullRequests = true
11696 }
11797
11898 // Verify the ExcludePullRequests is correctly set for "1" value
11999 assert .True (t , opts2 .ExcludePullRequests )
120100
121101 // Test case 3: With exclude_pull_requests=false (should not set the flag)
122- ctx3 , _ := contexttest .MockAPIContext (t , "user2/repo1" )
102+ ctx3 , _ := contexttest .MockAPIContext (t , "user2/repo1?exclude_pull_requests=false " )
123103 contexttest .LoadRepo (t , ctx3 , 1 )
124104 contexttest .LoadUser (t , ctx3 , 2 )
125105
126- setFormValue (ctx3 , "exclude_pull_requests" , "false" )
127-
128106 opts3 := actions_model.FindRunOptions {
129107 RepoID : ctx3 .Repo .Repository .ID ,
130108 }
131109
132- if exclude := ctx3 .FormString ("exclude_pull_requests" ); exclude != "" {
133- if exclude == "true" || exclude == "1" {
134- opts3 .ExcludePullRequests = true
135- }
110+ if ctx3 .FormBool ("exclude_pull_requests" ) {
111+ opts3 .ExcludePullRequests = true
136112 }
137113
138114 // Verify the ExcludePullRequests is NOT set for "false" value
139115 assert .False (t , opts3 .ExcludePullRequests )
140116}
141117
142- // TestListRunsCheckSuiteIDParam tests that ListRuns properly handles
143- // the check_suite_id parameter.
144- func TestListRunsCheckSuiteIDParam (t * testing.T ) {
145- unittest .PrepareTestEnv (t )
146-
147- const testSuiteID int64 = 12345
148-
149- // Test case: With check_suite_id parameter
150- ctx , _ := contexttest .MockAPIContext (t , "user2/repo1" )
151- contexttest .LoadRepo (t , ctx , 1 )
152- contexttest .LoadUser (t , ctx , 2 )
153-
154- setFormValue (ctx , "check_suite_id" , "12345" )
155-
156- // Call the actual parsing logic from ListRuns
157- opts := actions_model.FindRunOptions {
158- RepoID : ctx .Repo .Repository .ID ,
159- }
160-
161- // This simulates the logic in ListRuns
162- if checkSuiteID := ctx .FormInt64 ("check_suite_id" ); checkSuiteID > 0 {
163- opts .CheckSuiteID = checkSuiteID
164- }
165-
166- // Verify the CheckSuiteID is correctly set based on the form value
167- assert .Equal (t , testSuiteID , opts .CheckSuiteID )
168- }
169-
170118// TestListRunsCreatedParam tests that ListRuns properly handles
171119// the created parameter for date filtering.
172120func TestListRunsCreatedParam (t * testing.T ) {
173121 unittest .PrepareTestEnv (t )
174122
175123 // Test case 1: With created in date range format
176- ctx , _ := contexttest .MockAPIContext (t , "user2/repo1" )
124+ ctx , _ := contexttest .MockAPIContext (t , "user2/repo1?created=2023-01-01..2023-12-31 " )
177125 contexttest .LoadRepo (t , ctx , 1 )
178126 contexttest .LoadUser (t , ctx , 2 )
179127
180- setFormValue (ctx , "created" , "2023-01-01..2023-12-31" )
181-
182128 opts := actions_model.FindRunOptions {
183129 RepoID : ctx .Repo .Repository .ID ,
184130 }
@@ -204,12 +150,10 @@ func TestListRunsCreatedParam(t *testing.T) {
204150 assert .Equal (t , expectedEnd , opts .CreatedBefore )
205151
206152 // Test case 2: With created in ">=" format
207- ctx2 , _ := contexttest .MockAPIContext (t , "user2/repo1" )
153+ ctx2 , _ := contexttest .MockAPIContext (t , "user2/repo1?created=>=2023-01-01 " )
208154 contexttest .LoadRepo (t , ctx2 , 1 )
209155 contexttest .LoadUser (t , ctx2 , 2 )
210156
211- setFormValue (ctx2 , "created" , ">=2023-01-01" )
212-
213157 opts2 := actions_model.FindRunOptions {
214158 RepoID : ctx2 .Repo .Repository .ID ,
215159 }
@@ -229,12 +173,10 @@ func TestListRunsCreatedParam(t *testing.T) {
229173 assert .True (t , opts2 .CreatedBefore .IsZero ())
230174
231175 // Test case 3: With created in exact date format
232- ctx3 , _ := contexttest .MockAPIContext (t , "user2/repo1" )
176+ ctx3 , _ := contexttest .MockAPIContext (t , "user2/repo1?created=2023-06-15 " )
233177 contexttest .LoadRepo (t , ctx3 , 1 )
234178 contexttest .LoadUser (t , ctx3 , 2 )
235179
236- setFormValue (ctx3 , "created" , "2023-06-15" )
237-
238180 opts3 := actions_model.FindRunOptions {
239181 RepoID : ctx3 .Repo .Repository .ID ,
240182 }
0 commit comments