import 'package:flutter_test/flutter_test.dart'; import 'package:workouttest_util/model/cache.dart'; import 'package:workouttest_util/model/openai.dart'; import 'package:workouttest_util/model/openai_chat.dart'; import 'package:workouttest_util/model/openai_chat_message.dart'; import 'package:workouttest_util/service/openai_service.dart'; import 'dart:convert'; void main() { setUp(() { Cache().setLocalBaseUrl(); }); test('openai response succesful', () async { var api = OpenAIApi(); String response = await api.getOpenAICompletion("Who wrote the song 'yellow submarine'?"); print(response); expect(response, matches(RegExp(r'Beatles'))); }); test('openai with model response succesful', () async { var api = OpenAIApi(); String question = "Készíts egy heti egészséges és változatos étrendet egy új felhasználónak az alábbi adatok alapján: férfi, 51 éves. Célja: Le szeretnék fogyni, heti mozgás: Hetente 3-4 alkalom, BMI: 24.784257517393772, BMR: 1723.75. A neve Tibi. Az egyes étkezések különbözőek legyenek, és add meg hozzájuk a mennyiséget és a kalóriatartalmat is. Vedd figyelembe, hogy a napi összes kalóriaérték 200-400 kCal-val kevesebb legyen, mint 1723.75 kCal"; var openai = OpenAI(question, "text-davinci-003", 0.5); String response = await api.getOpenAICompletionWithModel(openai); print(response); expect(response, matches(RegExp(r'Tibi'))); }); test('openai chat completion response succesful', () async { var api = OpenAIApi(); String content = "Te a Diet4You applikáció asszisztense vagy. Add meg ennek az ételnek a kalória és tápanyagadatait: 'Hortobágyi palacsinta'. A válasz ez az objektum JSON alakított formája legyen: Meal [mealName: string, cal: double, ch: double, fat: double, protein: double, sugar: double, portion: double, unit: string]. A portion paraméter azt tartalmazza, hogy ebből az ételből hány gramm v. ml az átlagos adag. A unit paraméter a 'portion' mennyiségi egyésge"; OpenAIChatMessage message = OpenAIChatMessage(ChatRole.user, content); String json = jsonEncode([message]); var openai = OpenAIChat(json); String response = await api.getOpenAIChatCompletion(openai); print(response); expect(response, matches(RegExp(r'mealName'))); }); test('openai chat completion response succesful 2', () async { var api = OpenAIApi(); String content = "Te a Diet4You applikáció asszisztense vagy. Add meg ennek az ételnek a kalória és tápanyagadatait: 'Szegedi halászlé'. A válasz ez az objektum JSON alakított formája legyen: Meal [mealName: string, cal: double, ch: double, fat: double, protein: double, sugar: double, portion: double, unit: string]. A portion paraméter azt tartalmazza, hogy ebből az ételből hány gramm v. ml az átlagos adag. A unit paraméter a 'portion' mennyiségi egyésge"; OpenAIChatMessage message = OpenAIChatMessage(ChatRole.user, content); String json = jsonEncode([message]); var openai = OpenAIChat(json); String response = await api.getOpenAIChatCompletion(openai); print(response); expect(response, matches(RegExp(r'mealName'))); }); }