(t *testing.T)
| 2429 | } |
| 2430 | |
| 2431 | func TestAgentChatSendShortcutPreference(t *testing.T) { |
| 2432 | t.Parallel() |
| 2433 | |
| 2434 | adminClient := coderdtest.New(t, nil) |
| 2435 | firstUser := coderdtest.CreateFirstUser(t, adminClient) |
| 2436 | |
| 2437 | requireValidationField := func(t *testing.T, err error, field string) { |
| 2438 | t.Helper() |
| 2439 | |
| 2440 | var sdkErr *codersdk.Error |
| 2441 | require.ErrorAs(t, err, &sdkErr) |
| 2442 | require.Equal(t, http.StatusBadRequest, sdkErr.StatusCode()) |
| 2443 | require.Len(t, sdkErr.Validations, 1) |
| 2444 | require.Equal(t, field, sdkErr.Validations[0].Field) |
| 2445 | } |
| 2446 | |
| 2447 | t.Run("defaults to enter", func(t *testing.T) { |
| 2448 | t.Parallel() |
| 2449 | |
| 2450 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2451 | |
| 2452 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2453 | defer cancel() |
| 2454 | |
| 2455 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2456 | require.NoError(t, err) |
| 2457 | require.Equal(t, codersdk.AgentChatSendShortcutEnter, settings.AgentChatSendShortcut) |
| 2458 | }) |
| 2459 | |
| 2460 | t.Run("round-trips shortcut", func(t *testing.T) { |
| 2461 | t.Parallel() |
| 2462 | |
| 2463 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2464 | |
| 2465 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2466 | defer cancel() |
| 2467 | |
| 2468 | updated, err := client.UpdateUserPreferenceSettings(ctx, codersdk.Me, codersdk.UpdateUserPreferenceSettingsRequest{ |
| 2469 | AgentChatSendShortcut: codersdk.AgentChatSendShortcutModifierEnter, |
| 2470 | }) |
| 2471 | require.NoError(t, err) |
| 2472 | require.Equal(t, codersdk.AgentChatSendShortcutModifierEnter, updated.AgentChatSendShortcut) |
| 2473 | |
| 2474 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2475 | require.NoError(t, err) |
| 2476 | require.Equal(t, codersdk.AgentChatSendShortcutModifierEnter, settings.AgentChatSendShortcut) |
| 2477 | }) |
| 2478 | |
| 2479 | t.Run("rejects invalid shortcut", func(t *testing.T) { |
| 2480 | t.Parallel() |
| 2481 | |
| 2482 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2483 | |
| 2484 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2485 | defer cancel() |
| 2486 | |
| 2487 | _, err := client.UpdateUserPreferenceSettings(ctx, codersdk.Me, codersdk.UpdateUserPreferenceSettingsRequest{ |
| 2488 | AgentChatSendShortcut: codersdk.AgentChatSendShortcut("bogus"), |
nothing calls this directly
no test coverage detected