(t *testing.T)
| 336 | } |
| 337 | |
| 338 | func TestChatGPTFetch_TemplateFetch(t *testing.T) { |
| 339 | t.Parallel() |
| 340 | |
| 341 | tests := []struct { |
| 342 | name string |
| 343 | setupTemplate bool |
| 344 | objectID string // if empty, will use real template ID |
| 345 | expectError bool |
| 346 | errorContains string |
| 347 | }{ |
| 348 | { |
| 349 | name: "ValidTemplateFetch", |
| 350 | setupTemplate: true, |
| 351 | expectError: false, |
| 352 | }, |
| 353 | { |
| 354 | name: "NonExistentTemplateID", |
| 355 | setupTemplate: false, |
| 356 | objectID: "template:" + uuid.NewString(), |
| 357 | expectError: true, |
| 358 | errorContains: "Resource not found", |
| 359 | }, |
| 360 | } |
| 361 | |
| 362 | for _, tt := range tests { |
| 363 | t.Run(tt.name, func(t *testing.T) { |
| 364 | t.Parallel() |
| 365 | |
| 366 | // Setup |
| 367 | client, store := coderdtest.NewWithDatabase(t, nil) |
| 368 | owner := coderdtest.CreateFirstUser(t, client) |
| 369 | |
| 370 | var templateID string |
| 371 | var expectedTemplate database.Template |
| 372 | if tt.setupTemplate { |
| 373 | template := dbfake.TemplateVersion(t, store). |
| 374 | Seed(database.TemplateVersion{ |
| 375 | OrganizationID: owner.OrganizationID, |
| 376 | CreatedBy: owner.UserID, |
| 377 | }).Do() |
| 378 | expectedTemplate = template.Template |
| 379 | templateID = "template:" + template.Template.ID.String() |
| 380 | } else if tt.objectID != "" { |
| 381 | templateID = tt.objectID |
| 382 | } |
| 383 | |
| 384 | // Create tool dependencies |
| 385 | deps, err := toolsdk.NewDeps(client) |
| 386 | require.NoError(t, err) |
| 387 | |
| 388 | // Execute tool |
| 389 | args := toolsdk.FetchArgs{ID: templateID} |
| 390 | result, err := testTool(t, toolsdk.ChatGPTFetch, deps, args) |
| 391 | |
| 392 | // Verify results |
| 393 | if tt.expectError { |
| 394 | require.Error(t, err) |
| 395 | if tt.errorContains != "" { |
nothing calls this directly
no test coverage detected