(t *testing.T)
| 595 | } |
| 596 | |
| 597 | func TestService_DeleteAfterMessageID(t *testing.T) { |
| 598 | t.Parallel() |
| 599 | |
| 600 | fixture := newFixture(t) |
| 601 | low := insertMessage(t, fixture.db, fixture.chat.ID, fixture.owner.ID, |
| 602 | fixture.model.ID, database.ChatMessageRoleAssistant, "low") |
| 603 | threshold := insertMessage(t, fixture.db, fixture.chat.ID, |
| 604 | fixture.owner.ID, fixture.model.ID, database.ChatMessageRoleAssistant, |
| 605 | "threshold") |
| 606 | high := insertMessage(t, fixture.db, fixture.chat.ID, fixture.owner.ID, |
| 607 | fixture.model.ID, database.ChatMessageRoleAssistant, "high") |
| 608 | require.Less(t, low.ID, threshold.ID) |
| 609 | require.Less(t, threshold.ID, high.ID) |
| 610 | |
| 611 | runKeep := createRun(t, fixture) |
| 612 | stepKeep, err := fixture.svc.CreateStep(fixture.ctx, chatdebug.CreateStepParams{ |
| 613 | RunID: runKeep.ID, |
| 614 | ChatID: fixture.chat.ID, |
| 615 | StepNumber: 1, |
| 616 | Operation: chatdebug.OperationGenerate, |
| 617 | Status: chatdebug.StatusInProgress, |
| 618 | }) |
| 619 | require.NoError(t, err) |
| 620 | _, err = fixture.svc.UpdateStep(fixture.ctx, chatdebug.UpdateStepParams{ |
| 621 | ID: stepKeep.ID, |
| 622 | ChatID: fixture.chat.ID, |
| 623 | AssistantMessageID: low.ID, |
| 624 | }) |
| 625 | require.NoError(t, err) |
| 626 | |
| 627 | runDelete := createRun(t, fixture) |
| 628 | stepDelete, err := fixture.svc.CreateStep(fixture.ctx, chatdebug.CreateStepParams{ |
| 629 | RunID: runDelete.ID, |
| 630 | ChatID: fixture.chat.ID, |
| 631 | StepNumber: 1, |
| 632 | Operation: chatdebug.OperationGenerate, |
| 633 | Status: chatdebug.StatusInProgress, |
| 634 | }) |
| 635 | require.NoError(t, err) |
| 636 | _, err = fixture.svc.UpdateStep(fixture.ctx, chatdebug.UpdateStepParams{ |
| 637 | ID: stepDelete.ID, |
| 638 | ChatID: fixture.chat.ID, |
| 639 | AssistantMessageID: high.ID, |
| 640 | }) |
| 641 | require.NoError(t, err) |
| 642 | |
| 643 | deleted, err := fixture.svc.DeleteAfterMessageID(fixture.ctx, fixture.chat.ID, |
| 644 | threshold.ID, time.Now().Add(time.Minute)) |
| 645 | require.NoError(t, err) |
| 646 | require.EqualValues(t, 1, deleted) |
| 647 | |
| 648 | runs, err := fixture.db.GetChatDebugRunsByChatID(fixture.ctx, database.GetChatDebugRunsByChatIDParams{ |
| 649 | ChatID: fixture.chat.ID, |
| 650 | LimitVal: 100, |
| 651 | }) |
| 652 | require.NoError(t, err) |
| 653 | require.Len(t, runs, 1) |
| 654 | require.Equal(t, runKeep.ID, runs[0].ID) |
nothing calls this directly
no test coverage detected