[chat] fix favorite thread

This commit is contained in:
Devin Zuczek
2026-10-20 11:31:28 -04:00
parent 2091483cc3
commit f04b9bd66b
3 changed files with 53 additions and 14 deletions
+14 -4
View File
@@ -2164,13 +2164,17 @@ describe('PUT /thread/:id/favorite', () => {
const res = await favorite(caller, chatThreadId, 'favorite=True')
expect(res.status).toBe(200)
expect(await res.json()).toBe(0)
// The client's FavoriteChatResponse: a bare 2-key object, no envelope.
expect(await res.json()).toEqual({ ChatResult: 0, IsFavorited: true })
expect((await getThreadForPlayer(env.DB, chatThreadId, caller))?.isFavorited).toBe(true)
// Per-member, like snoozing: the other player's inbox is untouched.
expect((await getThreadForPlayer(env.DB, chatThreadId, other))?.isFavorited).toBe(false)
await favorite(caller, chatThreadId, 'favorite=False')
expect(await (await favorite(caller, chatThreadId, 'favorite=False')).json()).toEqual({
ChatResult: 0,
IsFavorited: false,
})
expect((await getThreadForPlayer(env.DB, chatThreadId, caller))?.isFavorited).toBe(false)
})
@@ -2178,13 +2182,19 @@ describe('PUT /thread/:id/favorite', () => {
const caller = 893003
const chatThreadId = await createThread(env.DB, [caller, 893004], null, caller)
expect(await (await favorite(caller, chatThreadId, 'favorite=True', 'POST')).json()).toBe(0)
expect(await (await favorite(caller, chatThreadId, 'favorite=True', 'POST')).json()).toEqual({
ChatResult: 0,
IsFavorited: true,
})
expect((await getThreadForPlayer(env.DB, chatThreadId, caller))?.isFavorited).toBe(true)
})
it('refuses a thread the caller is not on', async () => {
const chatThreadId = await createThread(env.DB, [893005, 893006], null, 893005)
expect(await (await favorite(893007, chatThreadId, 'favorite=True')).json()).toBe(3)
expect(await (await favorite(893007, chatThreadId, 'favorite=True')).json()).toEqual({
ChatResult: 3,
IsFavorited: false,
})
})
it('401s without a token', async () => {