wa-chat-server
Version:
Watson Assistant powered chat server
75 lines (74 loc) • 3.7 kB
JavaScript
;
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();