UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

75 lines (74 loc) 3.7 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FeedbackTest = void 0; const node_mocks_http_1 = __importDefault(require("node-mocks-http")); const GoogleSheetsMock_1 = require("../mock/GoogleSheetsMock"); const index_1 = require("../../../src/index"); const WAChatServerConfigMock_1 = require("../mock/WAChatServerConfigMock"); const googleSheets_1 = require("../../api/feedback/googleSheets"); const Logger_1 = require("../../class/Logger/Logger"); const LoggerDriverMock_1 = require("../mock/LoggerDriverMock"); const Session_1 = require("../../class/Session/Session"); class FeedbackTest { constructor() { this.config = new WAChatServerConfigMock_1.WAChatServerConfigMock(); } getLogger(check = false, silence = true) { return new Logger_1.Logger(this.config, new LoggerDriverMock_1.LoggerDriverMock(check, silence)); } googleSheetsTest() { return __awaiter(this, void 0, void 0, function* () { it('googleSheetsTest', () => __awaiter(this, void 0, void 0, function* () { expect.assertions(6); const session = yield new Session_1.Session('ID'); session.start(); session.data = { context: { sessionId: 'ID', }, assistants: { MASTER: { context: { sessionId: 'test-session-id', }, }, }, }; session.runningAssistant = 'MASTER'; const request = yield node_mocks_http_1.default.createRequest({ method: 'POST', url: '/feedback/googleSheets', body: { feedback: 1, message: 'TEST', }, }); const response = yield node_mocks_http_1.default.createResponse(); expect(response.statusCode).toStrictEqual(200); function next() { } // eslint-disable-line const waChatServer = yield new index_1.WAChatServer(new WAChatServerConfigMock_1.WAChatServerConfigMock()); yield (0, googleSheets_1.postGoogleSheetsAPI)(waChatServer.config, this.getLogger(), session)(request, response, next, new GoogleSheetsMock_1.GoogleSheetsMock(undefined, session.data.assistants.MASTER.context.sessionId, request.body.feedback, request.body.message)); expect(response.statusCode).toStrictEqual(200); })); }); } test() { return __awaiter(this, void 0, void 0, function* () { this.googleSheetsTest(); }); } } exports.FeedbackTest = FeedbackTest; new FeedbackTest().test();