Skip to content

Commit

Permalink
test: cases and coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
jeasonstudio committed Jul 2, 2024
1 parent 2cca55e commit 45b3873
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 6 deletions.
7 changes: 3 additions & 4 deletions app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@ import React from 'react';

import { streamText } from 'ai';
import { chromeai } from 'chrome-ai';
import { z } from 'zod';
import { PromptCard } from './components/prompt-card';
import { ChatCard } from './components/chat-card';
import { Alert, AlertDescription, AlertTitle } from './components/ui/alert';
import { AlertCircle } from 'lucide-react';
import { Footer } from './components/footer';
import { checkEnv } from './utils';

const model = chromeai();
const model = chromeai('generic');

const HomePage: React.FC<unknown> = () => {
const [result, setResult] = React.useState<string | undefined>(undefined);
Expand All @@ -29,8 +28,8 @@ const HomePage: React.FC<unknown> = () => {
const startTimestamp = Date.now();
const { textStream } = await streamText({
model,
prompt,
// temperature: 0.8,
system: 'You are a helpful assistant.',
messages: [{ role: 'user', content: prompt }],
});
for await (const textPart of textStream) {
setResult(textPart);
Expand Down
33 changes: 31 additions & 2 deletions src/language-model.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, it, expect, vi, afterEach } from 'vitest';
import { chromeai, ChromeAIChatLanguageModel } from './index';
import { generateText, streamText, generateObject } from 'ai';
import { generateText, streamText, generateObject, streamObject } from 'ai';
import {
LoadSettingError,
UnsupportedFunctionalityError,
Expand Down Expand Up @@ -66,6 +66,17 @@ describe('chrome-ai', () => {
finishReason: 'stop',
text: 'test',
});

const resultForMessages = await generateText({
model: chromeai(),
messages: [
{ role: 'user', content: 'test' },
{ role: 'assistant', content: 'assistant' },
],
});
expect(resultForMessages.text).toBe(
'user\ntest\nmodel\nassistant\nmodel\n'
);
});

it('should do stream text', async () => {
Expand Down Expand Up @@ -146,6 +157,24 @@ describe('chrome-ai', () => {
},
],
});
expect(result.text).toBe('user:\n\n');
expect(result.text).toBe('user\n\nmodel\n');

await expect(() =>
generateObject({
model: chromeai(),
mode: 'grammar',
schema: z.object({}),
prompt: 'test',
})
).rejects.toThrowError(UnsupportedFunctionalityError);

await expect(() =>
streamObject({
model: chromeai(),
mode: 'grammar',
schema: z.object({}),
prompt: 'test',
})
).rejects.toThrowError(UnsupportedFunctionalityError);
});
});

0 comments on commit 45b3873

Please sign in to comment.