| import { ChatPage } from '../pages/chat'; | |
| import { test, expect } from '../fixtures'; | |
| test.describe('chat activity with reasoning', () => { | |
| let chatPage: ChatPage; | |
| test.beforeEach(async ({ curieContext }) => { | |
| chatPage = new ChatPage(curieContext.page); | |
| await chatPage.createNewChat(); | |
| }); | |
| test('Curie can send message and generate response with reasoning', async () => { | |
| await chatPage.sendUserMessage('Why is the sky blue?'); | |
| await chatPage.isGenerationComplete(); | |
| const assistantMessage = await chatPage.getRecentAssistantMessage(); | |
| expect(assistantMessage.content).toBe("It's just blue duh!"); | |
| expect(assistantMessage.reasoning).toBe( | |
| 'The sky is blue because of rayleigh scattering!', | |
| ); | |
| }); | |
| test('Curie can toggle reasoning visibility', async () => { | |
| await chatPage.sendUserMessage('Why is the sky blue?'); | |
| await chatPage.isGenerationComplete(); | |
| const assistantMessage = await chatPage.getRecentAssistantMessage(); | |
| const reasoningElement = | |
| assistantMessage.element.getByTestId('message-reasoning'); | |
| expect(reasoningElement).toBeVisible(); | |
| await assistantMessage.toggleReasoningVisibility(); | |
| await expect(reasoningElement).not.toBeVisible(); | |
| await assistantMessage.toggleReasoningVisibility(); | |
| await expect(reasoningElement).toBeVisible(); | |
| }); | |
| test('Curie can edit message and resubmit', async () => { | |
| await chatPage.sendUserMessage('Why is the sky blue?'); | |
| await chatPage.isGenerationComplete(); | |
| const assistantMessage = await chatPage.getRecentAssistantMessage(); | |
| const reasoningElement = | |
| assistantMessage.element.getByTestId('message-reasoning'); | |
| expect(reasoningElement).toBeVisible(); | |
| const userMessage = await chatPage.getRecentUserMessage(); | |
| await userMessage.edit('Why is grass green?'); | |
| await chatPage.isGenerationComplete(); | |
| const updatedAssistantMessage = await chatPage.getRecentAssistantMessage(); | |
| expect(updatedAssistantMessage.content).toBe("It's just green duh!"); | |
| expect(updatedAssistantMessage.reasoning).toBe( | |
| 'Grass is green because of chlorophyll absorption!', | |
| ); | |
| }); | |
| }); | |