MCPcopy Index your code
hub / github.com/coder/coder / TestTemplateFilterHasAITask

Function TestTemplateFilterHasAITask

coderd/templates_test.go:2190–2251  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2188}
2189
2190func 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)

Callers

nothing calls this directly

Calls 10

NewDBFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
ProvisionerJobFunction · 0.92
TemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
TemplatesMethod · 0.80
LenMethod · 0.45
EqualMethod · 0.45
ContainsMethod · 0.45

Tested by

no test coverage detected