(t *testing.T)
| 2188 | } |
| 2189 | |
| 2190 | func TestTemplateFilterHasAITask(t *testing.T) { |
| 2191 | t.Parallel() |
| 2192 | |
| 2193 | db, pubsub := dbtestutil.NewDB(t) |
| 2194 | client := coderdtest.New(t, &coderdtest.Options{ |
| 2195 | Database: db, |
| 2196 | Pubsub: pubsub, |
| 2197 | IncludeProvisionerDaemon: true, |
| 2198 | }) |
| 2199 | user := coderdtest.CreateFirstUser(t, client) |
| 2200 | |
| 2201 | jobWithAITask := dbgen.ProvisionerJob(t, db, pubsub, database.ProvisionerJob{ |
| 2202 | OrganizationID: user.OrganizationID, |
| 2203 | InitiatorID: user.UserID, |
| 2204 | Tags: database.StringMap{}, |
| 2205 | Type: database.ProvisionerJobTypeTemplateVersionImport, |
| 2206 | }) |
| 2207 | jobWithoutAITask := dbgen.ProvisionerJob(t, db, pubsub, database.ProvisionerJob{ |
| 2208 | OrganizationID: user.OrganizationID, |
| 2209 | InitiatorID: user.UserID, |
| 2210 | Tags: database.StringMap{}, |
| 2211 | Type: database.ProvisionerJobTypeTemplateVersionImport, |
| 2212 | }) |
| 2213 | versionWithAITask := dbgen.TemplateVersion(t, db, database.TemplateVersion{ |
| 2214 | OrganizationID: user.OrganizationID, |
| 2215 | CreatedBy: user.UserID, |
| 2216 | HasAITask: sql.NullBool{Bool: true, Valid: true}, |
| 2217 | JobID: jobWithAITask.ID, |
| 2218 | }) |
| 2219 | versionWithoutAITask := dbgen.TemplateVersion(t, db, database.TemplateVersion{ |
| 2220 | OrganizationID: user.OrganizationID, |
| 2221 | CreatedBy: user.UserID, |
| 2222 | HasAITask: sql.NullBool{Bool: false, Valid: true}, |
| 2223 | JobID: jobWithoutAITask.ID, |
| 2224 | }) |
| 2225 | templateWithAITask := coderdtest.CreateTemplate(t, client, user.OrganizationID, versionWithAITask.ID) |
| 2226 | templateWithoutAITask := coderdtest.CreateTemplate(t, client, user.OrganizationID, versionWithoutAITask.ID) |
| 2227 | |
| 2228 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 2229 | defer cancel() |
| 2230 | |
| 2231 | // Test filtering |
| 2232 | templates, err := client.Templates(ctx, codersdk.TemplateFilter{ |
| 2233 | SearchQuery: "has-ai-task:true", |
| 2234 | }) |
| 2235 | require.NoError(t, err) |
| 2236 | require.Len(t, templates, 1) |
| 2237 | require.Equal(t, templateWithAITask.ID, templates[0].ID) |
| 2238 | |
| 2239 | templates, err = client.Templates(ctx, codersdk.TemplateFilter{ |
| 2240 | SearchQuery: "has-ai-task:false", |
| 2241 | }) |
| 2242 | require.NoError(t, err) |
| 2243 | require.Len(t, templates, 1) |
| 2244 | require.Equal(t, templateWithoutAITask.ID, templates[0].ID) |
| 2245 | |
| 2246 | templates, err = client.Templates(ctx, codersdk.TemplateFilter{}) |
| 2247 | require.NoError(t, err) |
nothing calls this directly
no test coverage detected