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

Function TestChatUsageLimitOverrideRoutes

coderd/exp_chats_test.go:9479–9667  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9477}
9478
9479func TestChatUsageLimitOverrideRoutes(t *testing.T) {
9480 t.Parallel()
9481
9482 t.Run("UpsertUserOverrideRequiresPositiveSpendLimit", func(t *testing.T) {
9483 t.Parallel()
9484
9485 ctx := testutil.Context(t, testutil.WaitLong)
9486 client, _ := newChatClientWithDatabase(t)
9487 firstUser := coderdtest.CreateFirstUser(t, client.Client)
9488 _, member := coderdtest.CreateAnotherUser(t, client.Client, firstUser.OrganizationID)
9489
9490 res, err := client.Request(
9491 ctx,
9492 http.MethodPut,
9493 fmt.Sprintf("/api/experimental/chats/usage-limits/overrides/%s", member.ID),
9494 map[string]any{},
9495 )
9496 require.NoError(t, err)
9497 defer res.Body.Close()
9498
9499 err = codersdk.ReadBodyAsError(res)
9500 sdkErr := requireSDKError(t, err, http.StatusBadRequest)
9501 require.Equal(t, "Invalid chat usage limit override.", sdkErr.Message)
9502 require.Equal(t, "Spend limit must be greater than 0.", sdkErr.Detail)
9503 })
9504
9505 t.Run("UpsertUserOverrideMissingUser", func(t *testing.T) {
9506 t.Parallel()
9507
9508 ctx := testutil.Context(t, testutil.WaitLong)
9509 client := newChatClient(t)
9510 _ = coderdtest.CreateFirstUser(t, client.Client)
9511
9512 _, err := client.UpsertChatUsageLimitOverride(ctx, uuid.New(), codersdk.UpsertChatUsageLimitOverrideRequest{
9513 SpendLimitMicros: 7_000_000,
9514 })
9515 sdkErr := requireSDKError(t, err, http.StatusNotFound)
9516 require.Equal(t, "User not found.", sdkErr.Message)
9517 })
9518
9519 t.Run("DeleteUserOverrideMissingUser", func(t *testing.T) {
9520 t.Parallel()
9521
9522 ctx := testutil.Context(t, testutil.WaitLong)
9523 client := newChatClient(t)
9524 _ = coderdtest.CreateFirstUser(t, client.Client)
9525
9526 err := client.DeleteChatUsageLimitOverride(ctx, uuid.New())
9527 sdkErr := requireSDKError(t, err, http.StatusBadRequest)
9528 require.Equal(t, "User not found.", sdkErr.Message)
9529 })
9530
9531 t.Run("DeleteUserOverrideMissingOverride", func(t *testing.T) {
9532 t.Parallel()
9533
9534 ctx := testutil.Context(t, testutil.WaitLong)
9535 client := newChatClient(t)
9536 firstUser := coderdtest.CreateFirstUser(t, client.Client)

Callers

nothing calls this directly

Calls 15

ContextFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
ReadBodyAsErrorFunction · 0.92
GroupFunction · 0.92
GroupMemberFunction · 0.92
requireSDKErrorFunction · 0.85
newChatClientFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected