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