2024-01-30 15:40:31 +00:00
|
|
|
|
import { assert } from "console";
|
2024-02-26 04:03:36 +00:00
|
|
|
|
import {
|
|
|
|
|
ConversationManager,
|
|
|
|
|
MessageContext,
|
|
|
|
|
} from "../src/services/bot/conversation";
|
2024-02-23 10:10:53 +00:00
|
|
|
|
import { println } from "../src/utils/base";
|
|
|
|
|
import { MessageCRUD } from "../src/services/db/message";
|
2024-01-30 15:40:31 +00:00
|
|
|
|
|
|
|
|
|
export async function testDB() {
|
|
|
|
|
const manager = new ConversationManager({
|
|
|
|
|
bot: {
|
|
|
|
|
name: "小爱同学",
|
|
|
|
|
profile: "我是小爱同学,机器人",
|
|
|
|
|
},
|
|
|
|
|
master: {
|
2024-02-29 15:09:19 +00:00
|
|
|
|
name: "陆小千",
|
|
|
|
|
profile: "我是陆小千,人类",
|
2024-01-30 15:40:31 +00:00
|
|
|
|
},
|
|
|
|
|
room: {
|
|
|
|
|
name: "客厅",
|
2024-02-29 15:09:19 +00:00
|
|
|
|
description: "陆小千的客厅,小爱同学放在角落里",
|
2024-01-30 15:40:31 +00:00
|
|
|
|
},
|
|
|
|
|
});
|
2024-01-31 15:28:08 +00:00
|
|
|
|
const { room, bot, master, memory } = await manager.get();
|
|
|
|
|
assert(room, "❌ 初始化用户失败");
|
2024-02-26 04:03:36 +00:00
|
|
|
|
const ctx = { bot, master, room } as MessageContext;
|
|
|
|
|
let message = await manager.onMessage(ctx, {
|
2024-01-31 15:28:08 +00:00
|
|
|
|
sender: master!,
|
|
|
|
|
text: "你好!",
|
|
|
|
|
});
|
|
|
|
|
assert(message?.text === "你好!", "❌ 插入消息失败");
|
2024-02-26 04:03:36 +00:00
|
|
|
|
message = await manager.onMessage(ctx, {
|
2024-01-31 15:28:08 +00:00
|
|
|
|
sender: bot!,
|
|
|
|
|
text: "你好!很高兴认识你",
|
|
|
|
|
});
|
2024-02-26 04:03:36 +00:00
|
|
|
|
await manager.onMessage(ctx, {
|
2024-01-31 15:28:08 +00:00
|
|
|
|
sender: master!,
|
|
|
|
|
text: "你是谁?",
|
|
|
|
|
});
|
2024-02-26 04:03:36 +00:00
|
|
|
|
await manager.onMessage(ctx, {
|
2024-01-31 15:28:08 +00:00
|
|
|
|
sender: bot!,
|
|
|
|
|
text: "我是小爱同学,你可以叫我小爱!",
|
|
|
|
|
});
|
|
|
|
|
const messages = await manager.getMessages({ take: 100 });
|
|
|
|
|
assert(messages.length === 4, "❌ 查询消息数量异常");
|
|
|
|
|
assert(messages[0].text === "你好!", "❌ 查询消息排序异常");
|
|
|
|
|
const newMessages = await MessageCRUD.gets({
|
|
|
|
|
take: 100,
|
|
|
|
|
cursorId: message!.id,
|
|
|
|
|
order: "asc",
|
|
|
|
|
});
|
|
|
|
|
assert(newMessages.length === 2, "❌ 查询消息数量异常(游标)");
|
|
|
|
|
assert(
|
|
|
|
|
newMessages[1].text === "我是小爱同学,你可以叫我小爱!",
|
|
|
|
|
"❌ 查询消息排序异常(游标)"
|
|
|
|
|
);
|
2024-01-30 15:40:31 +00:00
|
|
|
|
println("✅ hello world!");
|
|
|
|
|
}
|