Filter unattributed successful messages
This commit is contained in:
1 parent
2c100d72b6
commit
7bcdbe236a
3 files changed
+62
-1
No files matched your search
@@ -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({
|
||||
|
||||
Reference in new issue
Block a user