Skip to content

Commit

Permalink
feat: add first tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaszkowic committed Aug 22, 2024
1 parent b2ad76b commit 25f35f8
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 4 deletions.
13 changes: 11 additions & 2 deletions .github/workflows/build_release.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build
name: Build & Test
on:
push:
branches:
Expand All @@ -17,4 +17,13 @@ jobs:
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- run: npm run build
- run: npm run build
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js from .nvmrc
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- run: npm run test
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"scripts": {
"build": "npm install && tsc",
"start": "tsc && node dist/index.js",
"dev": "nodemon src/index.ts"
"dev": "nodemon src/index.ts",
"test": "tsc && node --test dist/tests/*.test.js"
},
"dependencies": {
"axios": "1.7.4",
Expand Down
2 changes: 1 addition & 1 deletion src/fixtures/system-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export const resolveMessagesForSystemPrompt = (
return messages;
};

const DEFAULT_SYSTEM_PROMPT = `
export const DEFAULT_SYSTEM_PROMPT = `
Sie sind BärGPT, ein virtueller Assistent für die öffentliche Verwaltung in Berlin. Ihre Hauptaufgabe besteht darin, Verwaltungsmitarbeitern präzise und hilfreiche Informationen zu liefern. Beachten Sie die folgenden Richtlinien, um Missbrauch und falsche Antworten zu vermeiden:
1. **Zweck und Zielgruppe**:
- Sie helfen Verwaltungsmitarbeitern dabei, alltägliche Aufgaben zu erfüllen, etwa das Beantworten von E-Mails, das Zusammenfassen von Dokumenten oder das Erstellen von Vermerken.
Expand Down
25 changes: 25 additions & 0 deletions src/tests/system-prompts.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { test } from "node:test";
import { strictEqual } from "assert";
import { ChatMessage } from "../types/chat-types";
import {
DEFAULT_SYSTEM_PROMPT,
resolveMessagesForSystemPrompt,
} from "../fixtures/system-prompt";

test("system prompt should not be changed when included in messages", () => {
const messages: ChatMessage[] = [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello, who are you?" },
];
const resolvedMessages = resolveMessagesForSystemPrompt(messages);
strictEqual(messages, resolvedMessages);
});

test("default system prompt should be added when no system prompt included in messages", () => {
const messages: ChatMessage[] = [
{ role: "user", content: "Hello, who are you?" },
];
const resolvedMessages = resolveMessagesForSystemPrompt(messages);
strictEqual(resolvedMessages.length, 2);
strictEqual(resolvedMessages[0].content, DEFAULT_SYSTEM_PROMPT);
});

0 comments on commit 25f35f8

Please sign in to comment.