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

Function TestAgentDisplayModePreferences

coderd/users_test.go:2516–2683  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2514}
2515
2516func 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)

Callers

nothing calls this directly

Calls 11

StatusCodeMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
AgentDisplayModeTypeAlias · 0.92
HelperMethod · 0.65
RunMethod · 0.65
EqualMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected