1- import { describe , expect , it , vi } from 'vitest'
1+ import { beforeEach , describe , expect , it , vi } from 'vitest'
22
33// Mock all dependencies
44vi . mock ( 'next/cache' , ( ) => ( {
@@ -87,6 +87,24 @@ function createRequest(body: any, headers?: Record<string, string>): Request {
8787}
8888
8989describe ( 'POST /api/chat' , ( ) => {
90+ beforeEach ( ( ) => {
91+ vi . mocked ( getCurrentUserId ) . mockReset ( )
92+ vi . mocked ( getCurrentUserId ) . mockResolvedValue ( 'user-123' )
93+
94+ vi . mocked ( isProviderEnabled ) . mockReset ( )
95+ vi . mocked ( isProviderEnabled ) . mockReturnValue ( true )
96+
97+ vi . mocked ( createChatStreamResponse ) . mockReset ( )
98+ vi . mocked ( createChatStreamResponse ) . mockResolvedValue (
99+ new Response ( 'stream' , { status : 200 } )
100+ )
101+
102+ vi . mocked ( createEphemeralChatStreamResponse ) . mockReset ( )
103+ vi . mocked ( createEphemeralChatStreamResponse ) . mockResolvedValue (
104+ new Response ( 'ephemeral-stream' , { status : 200 } )
105+ )
106+ } )
107+
90108 it ( 'returns 400 for unknown trigger' , async ( ) => {
91109 const req = createRequest ( {
92110 message : 'hi' ,
@@ -132,12 +150,17 @@ describe('POST /api/chat', () => {
132150 const res = await POST ( req )
133151 expect ( res . status ) . toBe ( 400 )
134152 const json = await res . json ( )
135- expect ( json . message ) . toContain ( 'message ' )
153+ expect ( json . message ) . toContain ( 'messages ' )
136154 } )
137155
138156 it ( 'returns 403 for requests from share pages' , async ( ) => {
139157 const req = createRequest (
140- { message : 'hi' , chatId : 'c1' , trigger : 'submit-message' } ,
158+ {
159+ message : 'hi' ,
160+ messages : [ { role : 'user' , parts : [ { type : 'text' , text : 'hi' } ] } ] ,
161+ chatId : 'c1' ,
162+ trigger : 'submit-message'
163+ } ,
141164 { referer : 'http://localhost/share/abc123' }
142165 )
143166
@@ -153,6 +176,7 @@ describe('POST /api/chat', () => {
153176
154177 const req = createRequest ( {
155178 message : 'hi' ,
179+ messages : [ { role : 'user' , parts : [ { type : 'text' , text : 'hi' } ] } ] ,
156180 chatId : 'c1' ,
157181 trigger : 'submit-message'
158182 } )
@@ -166,6 +190,7 @@ describe('POST /api/chat', () => {
166190
167191 const req = createRequest ( {
168192 message : 'hi' ,
193+ messages : [ { role : 'user' , parts : [ { type : 'text' , text : 'hi' } ] } ] ,
169194 chatId : 'c1' ,
170195 trigger : 'submit-message'
171196 } )
@@ -177,6 +202,7 @@ describe('POST /api/chat', () => {
177202 it ( 'calls createChatStreamResponse for authenticated users' , async ( ) => {
178203 const req = createRequest ( {
179204 message : { role : 'user' , parts : [ { type : 'text' , text : 'hello' } ] } ,
205+ messages : [ { role : 'user' , parts : [ { type : 'text' , text : 'hello' } ] } ] ,
180206 chatId : 'c1' ,
181207 trigger : 'submit-message' ,
182208 isNewChat : true
0 commit comments