UNPKG

hubot-pretend

Version:

Test Hubot scripts with a mock robot, rooms and users.

41 lines (36 loc) 2.67 kB
'use strict';Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); var _es = require('hubot-async/es2015');function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /** * Represents a participating user in the chat. * * NB: not used as mock because it changes constructor to remove id argument. * * @param {string} [name] Name for the user (alternative to giving as attribute in options) * @param {Object} [options] Key/valye user attributes * @return User A new test user */ class User extends _es.User { constructor() { let id, options, name;for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];} if (_lodash2.default.isString(args[0])) name = args.shift(); if (_lodash2.default.isObject(args[0])) options = args.shift(); if (options == null) options = {}; if (name != null) options.name = name; if (options.id) id = options.id;else id = _lodash2.default.uniqueId('user_'); super(id, options); } /** * Create a user clone with a designated room assigned. * * @param {Room|String} room Room object or name of room to assign * @return User Clone of user */ in(room) { let clone = _lodash2.default.clone(this); clone.room = _lodash2.default.isString(room) ? room : room.name; return clone; }}exports.default = User;module.exports = exports['default']; //# sourceMappingURL=user.js.map