(t *testing.T)
| 12602 | } |
| 12603 | |
| 12604 | func TestUpdateChatLastTurnSummary(t *testing.T) { |
| 12605 | t.Parallel() |
| 12606 | if testing.Short() { |
| 12607 | t.SkipNow() |
| 12608 | } |
| 12609 | |
| 12610 | sqlDB := testSQLDB(t) |
| 12611 | err := migrations.Up(sqlDB) |
| 12612 | require.NoError(t, err) |
| 12613 | db := database.New(sqlDB) |
| 12614 | |
| 12615 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 12616 | owner := dbgen.User(t, db, database.User{}) |
| 12617 | org := dbgen.Organization(t, db, database.Organization{}) |
| 12618 | dbgen.OrganizationMember(t, db, database.OrganizationMember{UserID: owner.ID, OrganizationID: org.ID}) |
| 12619 | |
| 12620 | dbgen.ChatProvider(t, db, database.ChatProvider{ |
| 12621 | Provider: "openai", |
| 12622 | DisplayName: "OpenAI", |
| 12623 | APIKey: "test-key", |
| 12624 | Enabled: true, |
| 12625 | CentralApiKeyEnabled: true, |
| 12626 | }) |
| 12627 | |
| 12628 | modelCfg, err := insertChatModelConfigForTest(ctx, t, db, database.InsertChatModelConfigParams{ |
| 12629 | Provider: "openai", |
| 12630 | Model: "test-model", |
| 12631 | DisplayName: "Test Model", |
| 12632 | CreatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true}, |
| 12633 | UpdatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true}, |
| 12634 | Enabled: true, |
| 12635 | IsDefault: true, |
| 12636 | ContextLimit: 128000, |
| 12637 | CompressionThreshold: 80, |
| 12638 | Options: json.RawMessage(`{}`), |
| 12639 | }) |
| 12640 | require.NoError(t, err) |
| 12641 | |
| 12642 | chat, err := db.InsertChat(ctx, database.InsertChatParams{ |
| 12643 | OrganizationID: org.ID, |
| 12644 | Status: database.ChatStatusWaiting, |
| 12645 | ClientType: database.ChatClientTypeUi, |
| 12646 | OwnerID: owner.ID, |
| 12647 | LastModelConfigID: modelCfg.ID, |
| 12648 | Title: "summary-chat", |
| 12649 | }) |
| 12650 | require.NoError(t, err) |
| 12651 | |
| 12652 | affected, err := db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{ |
| 12653 | ID: chat.ID, |
| 12654 | ExpectedUpdatedAt: chat.UpdatedAt, |
| 12655 | LastTurnSummary: sql.NullString{String: "resolved the issue", Valid: true}, |
| 12656 | }) |
| 12657 | require.NoError(t, err) |
| 12658 | require.EqualValues(t, 1, affected) |
| 12659 | |
| 12660 | fetched, err := db.GetChatByID(ctx, chat.ID) |
| 12661 | require.NoError(t, err) |
nothing calls this directly
no test coverage detected