UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

92 lines (91 loc) 4.72 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConversationServiceTest = void 0; const ConversationServiceMock_1 = require("../mock/ConversationServiceMock"); const ConversationServicesMock_1 = require("../mock/ConversationServicesMock"); const WAChatServerConfigMock_1 = require("../mock/WAChatServerConfigMock"); const Logger_1 = require("../../class/Logger/Logger"); class ConversationServiceTest { constructor() { this.schemaDir = ''; this.config = new WAChatServerConfigMock_1.WAChatServerConfigMock(); this.logger = new Logger_1.Logger(this.config); } /** * Tests that obligatory schemas are in line with the properties * requestValidation and responseValidation */ obligatorySchemasListTest() { return __awaiter(this, void 0, void 0, function* () { it('obligatory-schemas-list', () => __awaiter(this, void 0, void 0, function* () { expect.assertions(3); const req = `${this.schemaDir}/request/Mock.json`; const res = `${this.schemaDir}/response/Mock.json`; const services = new ConversationServicesMock_1.ConversationServicesMock(); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger, requestValidation: true, responseValidation: false, })); expect(services.serviceMock.getObligatorySchemas()).toStrictEqual([req]); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger, requestValidation: false, responseValidation: true, })); expect(services.serviceMock.getObligatorySchemas()).toStrictEqual([res]); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger })); expect(services.serviceMock.getObligatorySchemas()).toStrictEqual([req, res]); })); }); } /** * Tests that optional schemas are in line with the properties * requestValidation and responseValidation */ optionalSchemasListTest() { return __awaiter(this, void 0, void 0, function* () { it('optional-schemas-list', () => __awaiter(this, void 0, void 0, function* () { expect.assertions(3); const req = `${this.schemaDir}/request/Mock.json`; const res = `${this.schemaDir}/response/Mock.json`; const services = new ConversationServicesMock_1.ConversationServicesMock(); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger, requestValidation: true, responseValidation: false, })); expect(services.serviceMock.getOptionalSchemas()).toStrictEqual([res]); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger, requestValidation: false, responseValidation: true, })); expect(services.serviceMock.getOptionalSchemas()).toStrictEqual([req]); services.setService(new ConversationServiceMock_1.ConversationServiceMock({ logger: this.logger, requestValidation: false, responseValidation: false, })); expect(services.serviceMock.getOptionalSchemas()).toStrictEqual([req, res]); })); }); } test() { return __awaiter(this, void 0, void 0, function* () { this.obligatorySchemasListTest(); this.optionalSchemasListTest(); }); } } exports.ConversationServiceTest = ConversationServiceTest; new ConversationServiceTest().test();