@everestate/serverless-router-dynamics
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -5,2 +5,3 @@ const createLazyContext = require('../createLazyContext'); | ||
const webhookRequestOnLeadDelete = require('./__fixtures__/webhookRequestOnLeadDelete'); | ||
const webhookRequestOnOpportunityAssign = require('./__fixtures__/webhookRequestOnOpportunityAssign'); | ||
@@ -53,2 +54,9 @@ | ||
describe('on Assign request', () => | ||
test('extracts entity', () => | ||
expect(subj(webhookRequestOnOpportunityAssign.body)).toMatchObject({ | ||
id: 'b77cca08-7450-e911-a95c-000d3a454977', | ||
entity: {}, | ||
}))); | ||
describe('on Delete request', () => | ||
@@ -55,0 +63,0 @@ test('extracts entity', () => |
@@ -7,2 +7,3 @@ const Router = require('@everestate/serverless-router'); | ||
const webhookRequestOnLeadDelete = require('./__fixtures__/webhookRequestOnLeadDelete'); | ||
const webhookRequestOnOpportunityAssign = require('./__fixtures__/webhookRequestOnOpportunityAssign'); | ||
@@ -13,3 +14,4 @@ const subj = (router = new Router([Dynamics])) => { | ||
.update('lead', (ctx, event) => ({ lead: 'update', ctx, event })) | ||
.delete('lead', (ctx, event) => ({ lead: 'delete', ctx, event })); | ||
.delete('lead', (ctx, event) => ({ lead: 'delete', ctx, event })) | ||
.assign('opportunity', (ctx, event) => ({ opportunity: 'assign', ctx, event })); | ||
return router; | ||
@@ -80,4 +82,14 @@ }; | ||
describe('on Assign request', () => | ||
test('invokes matching callback', () => expect(subj().dispatch(webhookRequestOnOpportunityAssign)).toEqual({ | ||
opportunity: 'assign', | ||
ctx: { | ||
id: 'b77cca08-7450-e911-a95c-000d3a454977', | ||
entity: {}, | ||
}, | ||
event: webhookRequestOnOpportunityAssign, | ||
}))); | ||
test('pluginName', () => | ||
expect(Dynamics.pluginName).toEqual('dynamics')); | ||
}); |
@@ -17,2 +17,6 @@ const BasePlugin = require('@everestate/serverless-router/lib/BasePlugin'); | ||
assign(entityName, callback) { | ||
return this.appendRoute('Assign', entityName, callback); | ||
} | ||
static match(requestNameToMatch, entityNameToMatch) { | ||
@@ -24,7 +28,5 @@ return (event) => { | ||
} = event.headers; | ||
if (requestName !== requestNameToMatch || entityName !== entityNameToMatch) { | ||
return null; | ||
} | ||
return createLazyContext(event.body); | ||
@@ -31,0 +33,0 @@ }; |
{ | ||
"name": "@everestate/serverless-router-dynamics", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Serverless Router plugin to handle Microsoft Dynamics Webhooks", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -34,2 +34,6 @@ # @everestate/serverless-router-dynamics [![npm version](https://badge.fury.io/js/%40everestate%2Fserverless-router-dynamics.svg)](https://www.npmjs.com/package/@everestate/serverless-router-dynamics) | ||
return leadService.delete(id); // returns promise | ||
}) | ||
.assign('lead', ({ id, entity }) => { | ||
console.log(`New agent assigned to lead with "id: ${id}"`); | ||
return leadService.assign(id, entity); // returns promise | ||
}); | ||
@@ -36,0 +40,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
212489
17
435
66