Skip to content

Commit 5c8f4b4

Browse files
committed
even more testing
1 parent bce7d72 commit 5c8f4b4

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

e2e/chat.spec.ts

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ testMatrix.forEach((testConfig) => {
4848
await useMockModel(page)
4949
})
5050

51-
test('Chat v2 mock response works', async ({ page }) => {
51+
test('One message works', async ({ page }) => {
5252
await acceptDisclaimer(page)
5353
await useMockModel(page)
5454

@@ -60,6 +60,28 @@ testMatrix.forEach((testConfig) => {
6060
await expect(page.getByTestId('assistant-message')).toContainText('You are calling mock endpoint for streaming mock data')
6161
})
6262

63+
test('Multiple messages work', async ({ page }) => {
64+
await acceptDisclaimer(page)
65+
await useMockModel(page)
66+
67+
await sendChatMessage(page, 'say perkele')
68+
69+
await closeSendPreference(page)
70+
71+
await expect(page.getByTestId('user-message').first()).toContainText('say perkele')
72+
await expect(page.getByTestId('assistant-message').first()).toContainText('perkele')
73+
74+
await sendChatMessage(page, 'say minttuista')
75+
76+
await expect(page.getByTestId('user-message').nth(1)).toContainText('say minttuista')
77+
await expect(page.getByTestId('assistant-message').nth(1)).toContainText('minttuista')
78+
79+
await sendChatMessage(page, 'say settiä')
80+
81+
await expect(page.getByTestId('user-message').nth(2)).toContainText('say settiä')
82+
await expect(page.getByTestId('assistant-message').nth(2)).toContainText('settiä')
83+
})
84+
6385
test('Can empty conversation', async ({ page }) => {
6486
await acceptDisclaimer(page)
6587
await useMockModel(page)
@@ -78,6 +100,22 @@ testMatrix.forEach((testConfig) => {
78100
await expect(page.getByTestId('assistant-message')).not.toBeVisible()
79101
})
80102

103+
test('Can save as email', async ({ page }) => {
104+
await acceptDisclaimer(page)
105+
await useMockModel(page)
106+
107+
await sendChatMessage(page, 'tää tyhjennetään')
108+
109+
await closeSendPreference(page)
110+
111+
await expect(page.getByTestId('user-message')).toContainText('tää tyhjennetään')
112+
await expect(page.getByTestId('assistant-message')).toContainText('OVER', { timeout: 6000 })
113+
114+
await page.getByTestId('email-button').click()
115+
116+
await expect(page.getByText('Email sent')).toBeVisible()
117+
})
118+
81119
test('Custom system prompt can be changed', async ({ page }) => {
82120
await acceptDisclaimer(page)
83121
await useMockModel(page)

src/client/components/ChatV2/EmailButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ const EmailButton = ({ messages, disabled }: { messages: Message[]; disabled: bo
195195

196196
return (
197197
<Tooltip arrow placement="right" title={t('chat:email', { email: user.email })}>
198-
<OutlineButtonBlack startIcon={<EmailIcon />} onClick={handleSend}>
198+
<OutlineButtonBlack startIcon={<EmailIcon />} onClick={handleSend} data-testid="email-button">
199199
{t('email:save')}
200200
</OutlineButtonBlack>
201201
</Tooltip>

src/server/services/langchain/MockModel.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ export class MockModel extends FakeStreamingChatModel {
3131
} else if (firstSystemMessage && (firstSystemMessage.content as string).startsWith('mocktest')) {
3232
// testing a system message
3333
// Do nothing. FakeStreamingChatModel echoes the first message.
34+
} else if (lastHumanMessage.startsWith('say ')) {
35+
const msg = lastHumanMessage.replace('say ', '')
36+
this.chunks = [new AIMessageChunk(msg)]
3437
} else if (lastHumanMessage.startsWith('rag')) {
3538
// Do a tool call
3639
this.chunks = toolCallChunks

0 commit comments

Comments
 (0)