(t *testing.T)
| 9477 | } |
| 9478 | |
| 9479 | func 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) |
nothing calls this directly
no test coverage detected