diff --git a/.travis.yml b/.travis.yml index 74ba571..67e5d4a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,19 @@ language: node_js + node_js: - "11" - "10" - "8" -script: npm run test \ No newline at end of file + +script: npm run test + +after_success: npm run doc + +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_TOKEN + keep-history: true + local-dir: out + on: + branch: master \ No newline at end of file diff --git a/README.md b/README.md index ee712a1..5555edf 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,16 @@ This is js retailCRM bot API client. npm install --save mg-api-client ``` In your file + +###### CommonJS ``` var RetailcrmBotApiClient = require('mg-api-client'); ``` +###### es6 +``` +import RetailcrmBotApiClient from 'mg-api-client'; +``` + # Usage #### Get users ```javascript @@ -66,7 +73,7 @@ const api = new RetailcrmBotApiClient({ apiVersion: 'v1' // optional }).client; -const wsData = api.getWebsocketData(['message_new']); +const wsData = api.getWebsocketData([RetailcrmBotApiClient.types().wsMessageNew]); const ws = new WebSocket(wsData.get('url'), { headers: wsData.get('headers') }); diff --git a/index.js b/index.js index 1f10f6e..2858d02 100644 --- a/index.js +++ b/index.js @@ -2,11 +2,11 @@ import v1 from './lib/v1/client' import Request from './lib/request' +import * as consts from './lib/consts' const lastApiVersion = 'v1'; -/** Class init bot api client */ -export default class RetailcrmBotApiClient { +export default class MgBotApiClient { /** * @param {Object} options * @throws {Error} @@ -46,4 +46,12 @@ export default class RetailcrmBotApiClient { get client() { return this._client; }; + + /** + * Get types + * @returns {{msgTypeOrder?: string, wsUserJoinedChat?: string, msgTypeImage?: string, wsDialogAssign?: string, msgTypeText?: string, messageScopePublic?: string, wsMessageDeleted?: string, msgTypeCommand?: string, msgTypeFile?: string, msgTypeSystem?: string, wsBotUpdated?: string, msgTypeProduct?: string, wsDialogClosed?: string, wsMessageNew?: string, wsMessageUpdated?: string, wsSettingsUpdated?: string, wsUserUpdated?: string, wsCustomerUpdated?: string, wsChatCreated?: string, wsUserLeftChat?: string, wsChannelUpdated?: string, wsDialogOpened?: string, messageScopePrivate?: string, wsUserOnlineUpdated?: string, wsChatUnreadUpdated?: string, wsChatUpdated?: string}} + */ + static types() { + return consts; + } } diff --git a/lib/consts.js b/lib/consts.js new file mode 100644 index 0000000..928ac15 --- /dev/null +++ b/lib/consts.js @@ -0,0 +1,212 @@ +/** + * New message websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsMessageNew + */ +export const wsMessageNew = 'message_new'; + +/** + * Updating message websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsMessageUpdated + */ +export const wsMessageUpdated = 'message_updated'; + +/** + * Websocket event delete message + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsMessageDeleted + */ +export const wsMessageDeleted = 'message_deleted'; + +/** + * Dialogue opening websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsDialogOpened + * + */ +export const wsDialogOpened = 'dialog_opened'; + +/** + * Dialogue closing websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsDialogClosed + */ +export const wsDialogClosed = 'dialog_closed'; + +/** + * Dialogue appointment websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsDialogAssign + */ +export const wsDialogAssign = 'dialog_assign'; + +/** + * Chat creating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsChatCreated + */ +export const wsChatCreated = 'chat_created'; + +/** + * Chat updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsChatUpdated + */ +export const wsChatUpdated = 'chat_updated'; + +/** + * Unread chat updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsChatUnreadUpdated + */ +export const wsChatUnreadUpdated = 'chat_unread_updated'; + +/** + * User online status updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsUserOnlineUpdated + */ +export const wsUserOnlineUpdated = 'user_online_updated'; + +/** + * User joined chat websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsUserJoinedChat + */ +export const wsUserJoinedChat = 'user_joined_chat'; + +/** + * User left chat websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsUserLeftChat + * + */ +export const wsUserLeftChat = 'user_left_chat'; + +/** + * User updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsUserUpdated + */ +export const wsUserUpdated = 'user_updated'; + +/** + * Customer updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsCustomerUpdated + */ +export const wsCustomerUpdated = 'customer_updated'; + +/** + * Bot updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsBotUpdated + * + */ +export const wsBotUpdated = 'bot_updated'; + +/** + * Channel updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsChannelUpdated + */ +export const wsChannelUpdated = 'channel_updated'; + +/** + * Settings updating websocket event + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().wsSettingsUpdated + */ +export const wsSettingsUpdated = 'settings_updated'; + + +/** + * Public message scope + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().messageScopePublic + */ +export const messageScopePublic = 'public'; + +/** + * Public message scope + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().messageScopePrivate + */ +export const messageScopePrivate = 'private'; + + +/** + * Text message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeText + */ +export const msgTypeText = 'text'; + +/** + * System message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeSystem + */ +export const msgTypeSystem = 'system'; + +/** + * Command message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeCommand + */ +export const msgTypeCommand = 'command'; + +/** + * Order message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeOrder + */ +export const msgTypeOrder = 'order'; + +/** + * Product message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeProduct + */ +export const msgTypeProduct = 'product'; + +/** + * File message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeFile + */ +export const msgTypeFile = 'file'; + +/** + * Image message type + * @constant + * @type {string} + * @example RetailcrmBotApiClient.types().msgTypeImage + */ +export const msgTypeImage = 'image'; diff --git a/lib/v1/client.js b/lib/v1/client.js index 013bb29..275a04b 100644 --- a/lib/v1/client.js +++ b/lib/v1/client.js @@ -1,36 +1,17 @@ 'use strict'; -/** - * @classdesc Bot API v1 methods - * @namespace ClientV1 - * @readonly - */ +/** @class Client */ export default class Client { - /** - * @param {Request} request - * @constructor - */ constructor(request) { - /** - * @prop API version - * @type {string} - * @private - */ this._version = 'v1'; - - /** - * @prop Request object - * @type {Request} - * @private - */ this._request = request; } /** * Get bots - * @param {Object} params - * @since 1.0.0 + * @param {Object} params - Filter's object for bots * @returns {Promise} + * @memberOf Client */ getBots(params = {}) { return this._request.get(this._version + '/bots', params); @@ -38,8 +19,9 @@ export default class Client { /** * Get channels - * @param {Object} params + * @param {Object} params - Filter's object for channels * @returns {Promise} + * @memberOf Client */ getChannels(params = {}) { return this._request.get(this._version + '/channels', params); @@ -47,8 +29,9 @@ export default class Client { /** * Get chats - * @param {Object} params + * @param {Object} params - Filter's object for chats * @returns {Promise} + * @memberOf Client */ getChats(params = {}) { return this._request.get(this._version + '/chats', params); @@ -56,8 +39,9 @@ export default class Client { /** * Get customers - * @param {Object} params + * @param {Object} params - Filter's object for customers * @returns {Promise} + * @memberOf Client */ getCustomers(params = {}) { return this._request.get(this._version + '/customers', params); @@ -65,8 +49,9 @@ export default class Client { /** * Get dialogs - * @param {Object} params + * @param {Object} params - Filter's object for dialogs * @returns {Promise} + * @memberOf Client */ getDialogs(params = {}) { return this._request.get(this._version + '/dialogs', params); @@ -74,8 +59,9 @@ export default class Client { /** * Get members - * @param {Object} params + * @param {Object} params - Filter's object for members * @returns {Promise} + * @memberOf Client */ getMembers(params = {}) { return this._request.get(this._version + '/members', params); @@ -83,10 +69,11 @@ export default class Client { /** * Assign dialog - * @param {Number} dialog_id - Dialog identificator + * @param {Number} dialog_id - Dialog id * @param {Object} dialog - Dialog object * @returns {Promise} * @throws {Error} + * @memberOf Client */ assignDialog(dialog_id, dialog) { if (!dialog_id) { @@ -98,9 +85,10 @@ export default class Client { /** * Close dialog - * @param {Number} dialog_id + * @param {Number} dialog_id - Dialog id * @returns {Promise} * @throws {Error} + * @memberOf Client */ closeDialog(dialog_id) { if (!dialog_id) { @@ -112,17 +100,19 @@ export default class Client { /** * Send message - * @param {Object} data + * @param {Object} message - Message object * @returns {Promise} + * @memberOf Client */ - sendMessage(data) { - return this._request.post(this._version + '/messages', data); + sendMessage(message) { + return this._request.post(this._version + '/messages', message); }; /** * Get messages - * @param {Object} params + * @param {Object} params - Filter's object for messages * @returns {Promise} + * @memberOf Client */ getMessages(params = {}) { return this._request.get(this._version + '/messages', params); @@ -130,9 +120,10 @@ export default class Client { /** * Delete message - * @param {Number} message_id + * @param {Number} message_id - Message id * @returns {Promise} * @throws {Error} + * @memberOf Client */ deleteMessage(message_id) { if (!message_id) { @@ -144,10 +135,11 @@ export default class Client { /** * Edit message - * @param {Number} message_id - * @param {Object} message + * @param {Number} message_id - Message id + * @param {Object} message - Message object * @returns {Promise} * @throws {Error} + * @memberOf Client */ editMessage(message_id, message) { if (!message_id) { @@ -159,8 +151,9 @@ export default class Client { /** * Get bot commands - * @param {Object} params + * @param {Object} params - Filter's object for commands * @returns {Promise} + * @memberOf Client */ getCommands(params = {}) { return this._request.get(this._version + '/my/commands', params); @@ -168,24 +161,26 @@ export default class Client { /** * Edit bot command - * @param {string} command_name - * @param {Object} data + * @param {string} command_name - Command name + * @param {Object} command - Command object * @returns {Promise} * @throws {Error} + * @memberOf Client */ - editCommand(command_name, data) { + editCommand(command_name, command) { if (!command_name) { throw new Error('Parameter `command_name` is required'); } - return this._request.put(this._version + '/my/commands/' + command_name, data); + return this._request.put(this._version + '/my/commands/' + command_name, command); }; /** * Delete bot command - * @param {string} command_name + * @param {string} command_name - Command name * @returns {Promise} * @throws {Error} + * @memberOf Client */ deleteCommand(command_name) { if (!command_name) { @@ -197,8 +192,9 @@ export default class Client { /** * Bot information update - * @param {Object} data + * @param {Object} data - Bot data * @returns {Promise} + * @memberOf Client */ info(data) { return this._request.patch(this._version + '/my/info', data); @@ -206,8 +202,9 @@ export default class Client { /** * Get users - * @param {Object} params + * @param {Object} params - Filter's object for users * @returns {Promise} + * @memberOf Client */ getUsers(params = {}) { return this._request.get(this._version + '/users', params); @@ -215,9 +212,10 @@ export default class Client { /** * Get websocket url - * @param {array} events + * @param {array} events - Array of strings with websocket events * @returns {Map} * @throws {Error} + * @memberOf Client */ getWebsocketData(events) { if (!events) { diff --git a/package.json b/package.json index d29fb88..13f28f5 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,9 @@ ], "version": "1.0.1", "scripts": { + "doc": "jsdoc lib/v1/client.js lib/types.js -R README.md", "build": "./node_modules/.bin/rollup -c", - "test": "./node_modules/.bin/_mocha --compilers js:@babel/register ./tests/." + "test": "./node_modules/.bin/_mocha --require @babel/register ./tests/." }, "author": "retailCRM", "license": "MIT", diff --git a/rollup.config.js b/rollup.config.js index 9dee187..3e54ecf 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,8 +1,6 @@ import babel from 'rollup-plugin-babel'; -// import builtins from 'rollup-plugin-node-builtins'; let pluginOptions = [ - // builtins(), babel({ exclude: 'node_modules/**', }), diff --git a/tests/test_index.js b/tests/test_index.js index 83f0bc1..4d1a3a8 100644 --- a/tests/test_index.js +++ b/tests/test_index.js @@ -1,16 +1,16 @@ import chai from 'chai' -import RetailcrmBotApiClient from '../dist/index' +import MgBotApiClient from '../index' describe('#Constructor', function () { it('Empty url', function () { chai.expect(function() { - new RetailcrmBotApiClient({token: 'test_token'}); + new MgBotApiClient({token: 'test_token'}); }).to.throw('Url is required'); }); it('Incorrect url', function () { chai.expect(function() { - new RetailcrmBotApiClient({ + new MgBotApiClient({ host: 'http://api.example.com', token: 'test_token' }); @@ -19,7 +19,7 @@ describe('#Constructor', function () { it('Empty token', function () { chai.expect(function() { - new RetailcrmBotApiClient({host: 'https://api.example.com'}); + new MgBotApiClient({host: 'https://api.example.com'}); }).to.throw('Token is required'); }); }); diff --git a/tests/test_v1_client.js b/tests/test_v1_client.js index 577646e..0b2c396 100644 --- a/tests/test_v1_client.js +++ b/tests/test_v1_client.js @@ -1,13 +1,13 @@ import nock from 'nock' import chai from 'chai' -import RetailcrmBotApiClient from '../index' +import MgBotApiClient from '../index' describe('#API client v1', function() { beforeEach(function() { nock.cleanAll(); }); - const retailcrm = new RetailcrmBotApiClient({ + const api = new MgBotApiClient({ host: 'https://api.example.com', token: 'test_token' }).client; @@ -18,7 +18,7 @@ describe('#API client v1', function() { isActive: true }]); - retailcrm.getBots().then(function (value) { + api.getBots().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -27,7 +27,7 @@ describe('#API client v1', function() { it('Get empty bots list', function () { nock('https://api.example.com/api/bot/v1').get('/bots').reply(200, []); - retailcrm.getBots().then(function (value) { + api.getBots().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -38,7 +38,7 @@ describe('#API client v1', function() { id: 1 }]); - retailcrm.getChannels().then(function (value) { + api.getChannels().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -47,7 +47,7 @@ describe('#API client v1', function() { it('Get empty channels list', function () { nock('https://api.example.com/api/bot/v1').get('/channels').reply(200, []); - retailcrm.getChannels().then(function (value) { + api.getChannels().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -59,7 +59,7 @@ describe('#API client v1', function() { id: 1 }]); - retailcrm.getChats().then(function (value) { + api.getChats().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -68,7 +68,7 @@ describe('#API client v1', function() { it('Get empty chats list', function () { nock('https://api.example.com/api/bot/v1').get('/chats').reply(200, []); - retailcrm.getChats().then(function (value) { + api.getChats().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -81,7 +81,7 @@ describe('#API client v1', function() { id: 1 }]); - retailcrm.getCustomers().then(function (value) { + api.getCustomers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -90,7 +90,7 @@ describe('#API client v1', function() { it('Get empty customers list', function () { nock('https://api.example.com/api/bot/v1').get('/customers').reply(200, []); - retailcrm.getCustomers().then(function (value) { + api.getCustomers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -102,7 +102,7 @@ describe('#API client v1', function() { id: 1 }]); - retailcrm.getDialogs().then(function (value) { + api.getDialogs().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -111,7 +111,7 @@ describe('#API client v1', function() { it('Get empty dialogs list', function () { nock('https://api.example.com/api/bot/v1').get('/dialogs').reply(200, []); - retailcrm.getDialogs().then(function (value) { + api.getDialogs().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -122,7 +122,7 @@ describe('#API client v1', function() { id: 1 }]); - retailcrm.getMembers().then(function (value) { + api.getMembers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -131,7 +131,7 @@ describe('#API client v1', function() { it('Get empty members list', function () { nock('https://api.example.com/api/bot/v1').get('/members').reply(200, []); - retailcrm.getMembers().then(function (value) { + api.getMembers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -145,7 +145,7 @@ describe('#API client v1', function() { } }); - retailcrm.assignDialog(1, { + api.assignDialog(1, { manager_id: 1 }).then(function (value) { chai.expect(value).to.be.an('object'); @@ -153,19 +153,19 @@ describe('#API client v1', function() { }); it('Assign dialog incorrect', function () { - chai.expect(retailcrm.assignDialog.bind(retailcrm)).to.throw('Parameter `dialog_id` is required'); + chai.expect(api.assignDialog.bind(api)).to.throw('Parameter `dialog_id` is required'); }); it('Close dialog', function () { nock('https://api.example.com/api/bot/v1').delete('/dialogs/1/close').reply(200, {}); - retailcrm.closeDialog(1).then(function (value) { + api.closeDialog(1).then(function (value) { chai.expect(value).to.be.empty; }); }); it('Close dialog incorrect', function () { - chai.expect(retailcrm.closeDialog.bind(retailcrm)).to.throw('Parameter `dialog_id` is required'); + chai.expect(api.closeDialog.bind(api)).to.throw('Parameter `dialog_id` is required'); }); it('Send message', function () { @@ -178,7 +178,7 @@ describe('#API client v1', function() { message_id: 1 }); - retailcrm.sendMessage({ + api.sendMessage({ chat_id: 1, scope: 'public', type: 'text', @@ -190,7 +190,7 @@ describe('#API client v1', function() { }); it('Send message incorrect', function () { - chai.expect(retailcrm.sendMessage.bind(retailcrm)).to.throw('Body is not be empty'); + chai.expect(api.sendMessage.bind(api)).to.throw('Body is not be empty'); }); it('Get messages', function() { @@ -202,7 +202,7 @@ describe('#API client v1', function() { } }]); - retailcrm.getMessages().then(function (value) { + api.getMessages().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -211,7 +211,7 @@ describe('#API client v1', function() { it('Get empty messages', function () { nock('https://api.example.com/api/bot/v1').get('/messages').reply(200, []); - retailcrm.getMessages().then(function (value) { + api.getMessages().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -220,13 +220,13 @@ describe('#API client v1', function() { it('Delete message', function () { nock('https://api.example.com/api/bot/v1').delete('/messages/1').reply(200, {}); - retailcrm.deleteMessage(1).then(function (value) { + api.deleteMessage(1).then(function (value) { chai.expect(value).to.be.empty; }); }); it('Delete message incorrect', function () { - chai.expect(retailcrm.deleteMessage.bind(retailcrm)).to.throw('Parameter `message_id` is required'); + chai.expect(api.deleteMessage.bind(api)).to.throw('Parameter `message_id` is required'); }); it('Edit message', function () { @@ -234,7 +234,7 @@ describe('#API client v1', function() { content: 'tests message' }).reply(200, {}); - retailcrm.editMessage(1, { + api.editMessage(1, { content: 'tests message' }).then(function (value) { chai.expect(value).to.be.empty; @@ -242,7 +242,7 @@ describe('#API client v1', function() { }); it('Edit message incorrect', function () { - chai.expect(retailcrm.editMessage.bind(retailcrm)).to.throw('Parameter `message_id` is required'); + chai.expect(api.editMessage.bind(api)).to.throw('Parameter `message_id` is required'); }); it('Get commands', function () { @@ -251,7 +251,7 @@ describe('#API client v1', function() { name: 'Command name' }]); - retailcrm.getCommands().then(function (value) { + api.getCommands().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -260,7 +260,7 @@ describe('#API client v1', function() { it('Get empty commands', function () { nock('https://api.example.com/api/bot/v1').get('/my/commands').reply(200, []); - retailcrm.getCommands().then(function (value) { + api.getCommands().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); @@ -272,7 +272,7 @@ describe('#API client v1', function() { name: 'name' }).reply(200, {}); - retailcrm.editCommand('command', { + api.editCommand('command', { description: 'Desc', name: 'name' }).then(function (value) { @@ -281,20 +281,20 @@ describe('#API client v1', function() { }); it('Edit command incorrect', function () { - chai.expect(retailcrm.editCommand.bind(retailcrm, 'command')).to.throw('Body is not be empty'); - chai.expect(retailcrm.editCommand.bind(retailcrm)).to.throw('Parameter `command_name` is required'); + chai.expect(api.editCommand.bind(api, 'command')).to.throw('Body is not be empty'); + chai.expect(api.editCommand.bind(api)).to.throw('Parameter `command_name` is required'); }); it('Delete command', function () { nock('https://api.example.com/api/bot/v1').delete('/my/commands/command').reply(200, {}); - retailcrm.deleteCommand('command').then(function (value) { + api.deleteCommand('command').then(function (value) { chai.expect(value).to.be.empty; }); }); it('Delete command incorrect', function () { - chai.expect(retailcrm.deleteCommand.bind(retailcrm)).to.throw('Parameter `command_name` is required'); + chai.expect(api.deleteCommand.bind(api)).to.throw('Parameter `command_name` is required'); }); it('Update bot info', function () { @@ -303,7 +303,7 @@ describe('#API client v1', function() { name: 'Bot' }).reply(200, {}); - retailcrm.info({ + api.info({ avatar_url: 'http://tests.ru/avatar.png', name: 'Bot' }).then(function (value) { @@ -312,7 +312,7 @@ describe('#API client v1', function() { }); it('Update bot info incorrect', function () { - chai.expect(retailcrm.info.bind(retailcrm)).to.throw('Body is not be empty'); + chai.expect(api.info.bind(api)).to.throw('Body is not be empty'); }); it('Get users', function () { @@ -321,7 +321,7 @@ describe('#API client v1', function() { name: 'Username' }]); - retailcrm.getUsers().then(function (value) { + api.getUsers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.not.empty; }); @@ -330,14 +330,14 @@ describe('#API client v1', function() { it('Get empty users', function () { nock('https://api.example.com/api/bot/v1').get('/users').reply(200, []); - retailcrm.getUsers().then(function (value) { + api.getUsers().then(function (value) { chai.expect(value).to.be.an('array'); chai.expect(value).to.be.empty; }); }); it('Get websocket data', function () { - const wsData = retailcrm.getWebsocketData(['message_new', 'message_updated']); + const wsData = api.getWebsocketData([MgBotApiClient.types().wsMessageNew, MgBotApiClient.types().wsMessageUpdated]); const expectedUrl = 'wss://api.example.com/api/bot/v1/ws?events=message_new,message_updated'; const expectedHeaders = {'X-Bot-Token': 'test_token'}; @@ -346,6 +346,6 @@ describe('#API client v1', function() { }); it('Get websocket url incorrect', function () { - chai.expect(retailcrm.getWebsocketData.bind(retailcrm)).to.throw('Events is required'); + chai.expect(api.getWebsocketData.bind(api)).to.throw('Events is required'); }); });