(t *testing.T)
| 2514 | } |
| 2515 | |
| 2516 | func TestAgentDisplayModePreferences(t *testing.T) { |
| 2517 | t.Parallel() |
| 2518 | |
| 2519 | adminClient := coderdtest.New(t, nil) |
| 2520 | firstUser := coderdtest.CreateFirstUser(t, adminClient) |
| 2521 | |
| 2522 | requireValidationField := func(t *testing.T, err error, field string) { |
| 2523 | t.Helper() |
| 2524 | |
| 2525 | var sdkErr *codersdk.Error |
| 2526 | require.ErrorAs(t, err, &sdkErr) |
| 2527 | require.Equal(t, http.StatusBadRequest, sdkErr.StatusCode()) |
| 2528 | require.Len(t, sdkErr.Validations, 1) |
| 2529 | require.Equal(t, field, sdkErr.Validations[0].Field) |
| 2530 | } |
| 2531 | |
| 2532 | t.Run("defaults to auto", func(t *testing.T) { |
| 2533 | t.Parallel() |
| 2534 | |
| 2535 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2536 | |
| 2537 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2538 | defer cancel() |
| 2539 | |
| 2540 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2541 | require.NoError(t, err) |
| 2542 | require.Equal(t, codersdk.AgentDisplayModeAuto, settings.ShellToolDisplayMode) |
| 2543 | require.Equal(t, codersdk.AgentDisplayModeAuto, settings.CodeDiffDisplayMode) |
| 2544 | }) |
| 2545 | |
| 2546 | t.Run("round-trips shell tool display mode", func(t *testing.T) { |
| 2547 | t.Parallel() |
| 2548 | |
| 2549 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2550 | |
| 2551 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2552 | defer cancel() |
| 2553 | |
| 2554 | for _, mode := range []codersdk.AgentDisplayMode{ |
| 2555 | codersdk.AgentDisplayModeAlwaysExpanded, |
| 2556 | codersdk.AgentDisplayModeAlwaysCollapsed, |
| 2557 | } { |
| 2558 | updated, err := client.UpdateUserPreferenceSettings(ctx, codersdk.Me, codersdk.UpdateUserPreferenceSettingsRequest{ |
| 2559 | ShellToolDisplayMode: mode, |
| 2560 | }) |
| 2561 | require.NoError(t, err) |
| 2562 | require.Equal(t, mode, updated.ShellToolDisplayMode) |
| 2563 | |
| 2564 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2565 | require.NoError(t, err) |
| 2566 | require.Equal(t, mode, settings.ShellToolDisplayMode) |
| 2567 | } |
| 2568 | }) |
| 2569 | |
| 2570 | t.Run("round-trips code diff display mode", func(t *testing.T) { |
| 2571 | t.Parallel() |
| 2572 | |
| 2573 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
nothing calls this directly
no test coverage detected