(t *testing.T)
| 2352 | } |
| 2353 | |
| 2354 | func TestThinkingDisplayMode(t *testing.T) { |
| 2355 | t.Parallel() |
| 2356 | |
| 2357 | adminClient := coderdtest.New(t, nil) |
| 2358 | firstUser := coderdtest.CreateFirstUser(t, adminClient) |
| 2359 | |
| 2360 | t.Run("defaults to auto", func(t *testing.T) { |
| 2361 | t.Parallel() |
| 2362 | |
| 2363 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2364 | |
| 2365 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2366 | defer cancel() |
| 2367 | |
| 2368 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2369 | require.NoError(t, err) |
| 2370 | require.Equal(t, codersdk.ThinkingDisplayModeAuto, settings.ThinkingDisplayMode) |
| 2371 | }) |
| 2372 | |
| 2373 | t.Run("round-trips a valid mode", func(t *testing.T) { |
| 2374 | t.Parallel() |
| 2375 | |
| 2376 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2377 | |
| 2378 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2379 | defer cancel() |
| 2380 | |
| 2381 | updated, err := client.UpdateUserPreferenceSettings(ctx, codersdk.Me, codersdk.UpdateUserPreferenceSettingsRequest{ |
| 2382 | ThinkingDisplayMode: codersdk.ThinkingDisplayModeAlwaysCollapsed, |
| 2383 | }) |
| 2384 | require.NoError(t, err) |
| 2385 | require.Equal(t, codersdk.ThinkingDisplayModeAlwaysCollapsed, updated.ThinkingDisplayMode) |
| 2386 | |
| 2387 | settings, err := client.GetUserPreferenceSettings(ctx, codersdk.Me) |
| 2388 | require.NoError(t, err) |
| 2389 | require.Equal(t, codersdk.ThinkingDisplayModeAlwaysCollapsed, settings.ThinkingDisplayMode) |
| 2390 | }) |
| 2391 | |
| 2392 | t.Run("rejects invalid mode", func(t *testing.T) { |
| 2393 | t.Parallel() |
| 2394 | |
| 2395 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
| 2396 | |
| 2397 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) |
| 2398 | defer cancel() |
| 2399 | |
| 2400 | _, err := client.UpdateUserPreferenceSettings(ctx, codersdk.Me, codersdk.UpdateUserPreferenceSettingsRequest{ |
| 2401 | ThinkingDisplayMode: "bogus", |
| 2402 | }) |
| 2403 | var sdkErr *codersdk.Error |
| 2404 | require.ErrorAs(t, err, &sdkErr) |
| 2405 | require.Equal(t, http.StatusBadRequest, sdkErr.StatusCode()) |
| 2406 | }) |
| 2407 | |
| 2408 | t.Run("empty mode preserves stored value", func(t *testing.T) { |
| 2409 | t.Parallel() |
| 2410 | |
| 2411 | client, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID) |
nothing calls this directly
no test coverage detected