Skip to content
This repository has been archived by the owner on Sep 29, 2021. It is now read-only.

Commit

Permalink
fix(adaptor): make sendDirectMessageToUserId public
Browse files Browse the repository at this point in the history
fixes #51
  • Loading branch information
jonfreedman committed Apr 10, 2017
1 parent c4bd9cc commit b30aa1b
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
16 changes: 12 additions & 4 deletions src/adapter.js
Expand Up @@ -172,7 +172,7 @@ class SymphonyAdapter extends Adapter {
this.robot.logger.debug(`Sending direct message to username: ${username}`);
this._userLookup({username: username}, undefined)
.then((response) => {
this._sendDirectMessageToUserId(response.id, ...messages);
this.sendDirectMessageToUserId(response.id, ...messages);
});
}

Expand All @@ -193,16 +193,24 @@ class SymphonyAdapter extends Adapter {
this.robot.logger.debug(`Sending direct message to email: ${email}`);
this._userLookup({emailAddress: email}, undefined)
.then((response) => {
this._sendDirectMessageToUserId(response.id, ...messages);
this.sendDirectMessageToUserId(response.id, ...messages);
});
}

/**
* Send one or more messages to a user in Symphony based on their user id, can be called with strings or objects of
* the form
* <pre><code>
* {
* text: string,
* format: string
* }
* </code></pre>
*
* @param {number} userId Symphony user id
* @param {Array.<MessageTypeOrString>} messages
* @private
*/
_sendDirectMessageToUserId(userId: number, ...messages: Array<MessageTypeOrString>) {
sendDirectMessageToUserId(userId: number, ...messages: Array<MessageTypeOrString>) {
this.symphony.createIM(userId)
.then((response) => {
this.send({room: response.id}, ...messages);
Expand Down
15 changes: 15 additions & 0 deletions test/adapter-test.js
Expand Up @@ -227,4 +227,19 @@ describe('Adapter test suite', () => {
});
adapter.run();
});

it('should send direct message to id', (done) => {
let robot = new FakeRobot();
let adapter = SymphonyAdapter.use(robot);
adapter.on('connected', () => {
assert.isDefined(adapter.symphony);
adapter.sendDirectMessageToUserId(nock.realUserId, 'id message');
adapter.close();
});
nock.on('received', () => {
assert.include(nock.messages.map((m) => m.message), 'id message');
done();
});
adapter.run();
});
});

0 comments on commit b30aa1b

Please sign in to comment.