Filter unattributed successful messages

This commit is contained in:
jjbrunton committed 2026-08-08 18:28:46 +01:00
1 parent 2c100d72b6
commit 7bcdbe236a
3 files changed
+62 -1

No files matched your search

+44
View File
@@ -431,11 +431,15 @@ describe('MessagesRepository', () => {
describe('SuccessfulMessagesRepository', () => {
let successfulMessagesRepo: SuccessfulMessagesRepository;
let postsRepo: PostsRepository;
let messagesRepo: MessagesRepository;
let db: Database;
beforeEach(() => {
const repos = createTestRepositories();
successfulMessagesRepo = repos.successfulMessagesRepo;
postsRepo = repos.postsRepo;
messagesRepo = repos.messagesRepo;
db = repos.db;
});
@@ -520,6 +524,46 @@ describe('SuccessfulMessagesRepository', () => {
expect(recent[0].subreddit).toBeNull();
});
it('returns only examples attributable to a post, strategy, or subreddit', () => {
postsRepo.insert({
id: 'source-post',
subreddit: 'example',
author: 'alice',
title: 'Source post',
imageUrl: null,
processedAt: Date.now(),
});
const sentMessageId = messagesRepo.insert({
postId: 'source-post',
recipient: 'alice',
subject: 'alice',
message: 'Attributed opener',
sentAt: Date.now(),
strategyId: 'direct',
});
successfulMessagesRepo.insert({
sentMessageId,
originalMessage: 'Attributed opener',
imageAnalysis: null,
postTitle: 'Source post',
responseSnippet: 'Hello',
subreddit: null,
});
successfulMessagesRepo.insert({
sentMessageId: null,
originalMessage: 'Legacy unknown opener',
imageAnalysis: null,
postTitle: 'Chat with t2_unknown',
responseSnippet: 'Hello',
subreddit: null,
});
expect(successfulMessagesRepo.getAttributedRecent(10)).toEqual([
expect.objectContaining({ originalMessage: 'Attributed opener' }),
]);
expect(successfulMessagesRepo.getRecent(10)).toHaveLength(2);
});
it('returns most recent examples first', () => {
for (let i = 0; i < 5; i++) {
successfulMessagesRepo.insert({