1.0.8 • Published 6 years ago
innobot-chat-api v1.0.8
Features
Chat Api
Example how to use
Unit test script sample:
describe("ChatBotProxy", () => {
const config = new ChatBotClientConfig();
const chatbot: ChatBotClient = null;
const qna: QnA = null;
beforeEach(() => {
config.endpoint = "https://your.fulltextsearch.endpoint";
config.accessKey = "XXXXX";
config.secretKey = "YYYYY";
this.chatbot = new ChatBotClient(config);
this.qna = new QnA();
this.qna.id = "QNA001";
this.qna.answer = "My name is InnoBot";
this.qna.questions.push({ question: "What is your name", isPrimary: true });
this.qna.questions.push({ question: "Do you have a name", isPrimary: true });
});
it("Should ping successfully", async (done) => {
this.chatbot.ping("mars").then((result: ChatBotActionResult) => {
expect(result.result).toBe(true);
done();
}, (error: any) => { expect(error).toBeNull(error); });
});
it("Should add a new index named mars", async (done) => {
this.chatbot.createIndex("mars").then((result: ChatBotActionResult) => {
expect(result.result).toBe(true);
done();
}, (error: any) => { expect(error).toBeNull(error); });
});
it("Should add a new index name saturn", async (done) => {
this.chatbot.createIndex("saturn").then((result: ChatBotActionResult) => {
expect(result.result).toBe(true);
done();
}, (error: any) => { expect(error).toBeNull(error); });
});
it("Should get false when I check an invalid index", async (done) => {
this.chatbot.exists("x").then((result) => {
expect(result).toBe(false);
done();
}, (error: any) => { expect(error).toBeNull(error); });
});
it("Should get true when I check a valid index", async (done) => {
this.chatbot.exists("saturn").then((result) => {
expect(result).toBe(true);
done();
}, (error: any) => { expect(error).toBeNull(error); });
});
it("Should create a valid document", async (done) => {
this.chatbot.createOrUpdateQnA(this.qna, "mars").then((result: ChatBotActionResult) => {
expect(result.result).toBe("created");
done();
});
});
it("Should update a valid document", async (done) => {
this.chatbot.createOrUpdateQnA(this.qna, "mars").then((result: ChatBotActionResult) => {
expect(result.result).toBe("updated");
done();
});
});
it("Should get a valid document by search", async (done) => {
const search: SearchArgument = {
index: "mars",
q: "qna.id:QNA001"
};
setTimeout(() => {
this.chatbot.searchQnA(search).then((result: ChatBotQueryResult) => {
expect(result.records.length).toBeGreaterThan(0);
done();
});
}, 1500);
});
it("Should get ok when I delete a valid document", async (done) => {
this.chatbot.deleteQnA("mars", this.qna).then((result: ChatBotActionResult) => {
expect(result.result).toBe("deleted");
done();
});
});
it("Should delete all indexes", async (done) => {
this.chatbot.deleteIndex("mars").then((result: ChatBotActionResult) => {
expect(result.result).toBe(true);
});
this.chatbot.deleteIndex("saturn").then((result: ChatBotActionResult) => {
expect(result.result).toBe(true);
done();
});
});
});