@xapp/stentor-templates 1.0.0-beta.38 → 1.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,448 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* tslint:disable:no-magic-numbers */
4
+ const chai_1 = require("chai");
5
+ const stentor_alexa_1 = require("@xapp/stentor-alexa");
6
+ const stentor_handler_1 = require("@xapp/stentor-handler");
7
+ const stentor_handler_media_1 = require("@xapp/stentor-handler-media");
8
+ const Constants_1 = require("../Constants");
9
+ const OnDemandTemplateFactory_1 = require("../OnDemandTemplateFactory");
10
+ const organizationId = "UnitTestOrganizationId";
11
+ const appId = "appId";
12
+ const intentId = "LaunchRequest";
13
+ const name = "name";
14
+ const invocationName = "ON_DEMAND_TEMPLATE_REQUIRED";
15
+ const appIcon = "https://some.other.url/prod/ACME/image-two.png";
16
+ const summary = "summary";
17
+ const icon = "https://some.url/prod/ACME/image-name.png";
18
+ const rssFeedUrl = "https://some.url";
19
+ const location = {
20
+ streetAddress: "Tuscon, AZ",
21
+ geocode: {
22
+ latitude: 2,
23
+ longitude: 3
24
+ }
25
+ };
26
+ const platformData = {
27
+ alexa: {
28
+ platform: stentor_alexa_1.ALEXA_PLATFORM,
29
+ privacyAndCompliance: {
30
+ allowsPurchases: true,
31
+ containsAds: false,
32
+ isChildDirected: true,
33
+ isExportCompliant: false,
34
+ usesPersonalInfo: true
35
+ }
36
+ }
37
+ };
38
+ const baseTemplateProps = {
39
+ alexaCategory: stentor_alexa_1.PODCAST,
40
+ templateType: Constants_1.ON_DEMAND_TEMPLATE,
41
+ organizationId,
42
+ appId,
43
+ name,
44
+ invocationName,
45
+ summary,
46
+ icon,
47
+ collaborationAgreementUrl: "https://hello.com",
48
+ location,
49
+ keywords: Constants_1.ON_DEMAND_TEMPLATE_KEYWORDS,
50
+ rssFeedUrl,
51
+ customIntros: [
52
+ {
53
+ name: "Intro 1",
54
+ outputSpeech: "Hi",
55
+ schedule: {
56
+ start: {
57
+ time: "9:00 Z",
58
+ format: "H:mm Z"
59
+ },
60
+ duration: {
61
+ amount: 2,
62
+ format: "h"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ name: "Intro 2",
68
+ outputSpeech: "hi"
69
+ }
70
+ ],
71
+ platformData
72
+ };
73
+ const baseData = {
74
+ url: rssFeedUrl
75
+ };
76
+ const baseAppProps = {
77
+ organizationId,
78
+ appId,
79
+ name,
80
+ invocationName,
81
+ icon: appIcon,
82
+ location: {
83
+ streetAddress: "Phoenix, AZ",
84
+ geocode: {
85
+ latitude: 1,
86
+ longitude: 0
87
+ }
88
+ },
89
+ platformData: {
90
+ alexa: {
91
+ platform: stentor_alexa_1.ALEXA_PLATFORM,
92
+ privacyAndCompliance: {
93
+ allowsPurchases: false,
94
+ containsAds: true,
95
+ isChildDirected: false,
96
+ isExportCompliant: true,
97
+ usesPersonalInfo: false
98
+ }
99
+ }
100
+ }
101
+ };
102
+ const basePlayPodcastHandlerProps = {
103
+ intentId,
104
+ appId,
105
+ organizationId,
106
+ type: stentor_handler_media_1.PLAY_PODCAST_HANDLER_TYPE,
107
+ content: {
108
+ [intentId]: [
109
+ {
110
+ outputSpeech: "hello"
111
+ }
112
+ ]
113
+ },
114
+ data: Object.assign({}, baseData)
115
+ };
116
+ describe("OnDemandTemplateFactory", () => {
117
+ describe("#generateTemplate()", () => {
118
+ let template;
119
+ beforeEach(() => {
120
+ template = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateTemplate(Object.assign({}, baseAppProps), [
121
+ Object.assign({}, basePlayPodcastHandlerProps)
122
+ ]);
123
+ });
124
+ it("sets the type", () => {
125
+ chai_1.expect(template.templateType).to.equal(Constants_1.ON_DEMAND_TEMPLATE);
126
+ });
127
+ it("sets the alexa category", () => {
128
+ chai_1.expect(template.alexaCategory).to.equal(stentor_alexa_1.PODCAST);
129
+ });
130
+ it("sets the dialogflow default agent token", () => {
131
+ chai_1.expect(template.dialogflowClientToken).to.equal(Constants_1.ON_DEMAND_DIALOGFLOW_DEFAULT_AGENT_TOKEN);
132
+ });
133
+ it("sets the keywords", () => {
134
+ chai_1.expect(template.keywords).to.have.length(5);
135
+ });
136
+ it("sets the invocation name", () => {
137
+ chai_1.expect(template.invocationName).to.equal(invocationName);
138
+ });
139
+ it("sets the RSS feed url", () => {
140
+ chai_1.expect(template.rssFeedUrl).to.equal(rssFeedUrl);
141
+ });
142
+ it("sets the custom intros", () => {
143
+ chai_1.expect(template.customIntros).to.exist;
144
+ chai_1.expect(template.customIntros).to.have.length(1);
145
+ });
146
+ it("sets the address", () => {
147
+ chai_1.expect(template.location.streetAddress).to.equal("Phoenix, AZ");
148
+ });
149
+ it("sets the geocode on the location", () => {
150
+ chai_1.expect(template.location.geocode.latitude).to.equal(1);
151
+ chai_1.expect(template.location.geocode.longitude).to.equal(0);
152
+ });
153
+ it("sets the icon", () => {
154
+ chai_1.expect(template.icon).to.equal(appIcon);
155
+ });
156
+ it("sets the small icon", () => {
157
+ chai_1.expect(template.smallIcon).to.contain("https://some.other");
158
+ });
159
+ it("sets the large icon", () => {
160
+ chai_1.expect(template.largeIcon).to.contain("https://some.other");
161
+ });
162
+ it("sets the platformData", () => {
163
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.allowsPurchases).to.equal(false);
164
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.containsAds).to.equal(true);
165
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.isChildDirected).to.equal(false);
166
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.isExportCompliant).to.equal(true);
167
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.usesPersonalInfo).to.equal(false);
168
+ });
169
+ describe("with alwaysPlayLatest and nextIsOlder set on the handler", () => {
170
+ beforeEach(() => {
171
+ template = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateTemplate(Object.assign({}, baseAppProps), [
172
+ Object.assign({}, basePlayPodcastHandlerProps, { data: {
173
+ url: rssFeedUrl,
174
+ alwaysPlayLatest: true,
175
+ nextIsOlder: true
176
+ } })
177
+ ]);
178
+ });
179
+ it("sets template contentType to replaced", () => {
180
+ chai_1.expect(template.contentType).to.equal(Constants_1.ON_DEMAND_CONTENT_TYPE_REPLACED);
181
+ });
182
+ });
183
+ describe("with alwaysPlayLatest and nextIsOlder is false", () => {
184
+ beforeEach(() => {
185
+ template = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateTemplate(Object.assign({}, baseAppProps), [
186
+ Object.assign({}, basePlayPodcastHandlerProps, { data: {
187
+ url: rssFeedUrl,
188
+ alwaysPlayLatest: true
189
+ } })
190
+ ]);
191
+ });
192
+ it("sets template contentType to replaced", () => {
193
+ chai_1.expect(template.contentType).to.equal(Constants_1.ON_DEMAND_CONTENT_TYPE_REPLACED);
194
+ });
195
+ });
196
+ describe("with offerToPlayLatest set on the handler", () => {
197
+ beforeEach(() => {
198
+ template = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateTemplate(Object.assign({}, baseAppProps), [
199
+ Object.assign({}, basePlayPodcastHandlerProps, { data: {
200
+ url: rssFeedUrl,
201
+ offerToPlayLatest: true
202
+ } })
203
+ ]);
204
+ });
205
+ it("sets template contentType to stand alone", () => {
206
+ chai_1.expect(template.contentType).to.equal(Constants_1.ON_DEMAND_CONTENT_TYPE_STAND_ALONE);
207
+ });
208
+ });
209
+ });
210
+ describe("#generateApp()", () => {
211
+ let template;
212
+ let app;
213
+ beforeEach(() => {
214
+ template = Object.assign({}, baseTemplateProps);
215
+ app = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateApp(template);
216
+ });
217
+ it("sets the type", () => {
218
+ chai_1.expect(app.templateType).to.equal(Constants_1.ON_DEMAND_TEMPLATE);
219
+ });
220
+ it("sets the alexa category", () => {
221
+ chai_1.expect(app.alexaCategory).to.equal(stentor_alexa_1.PODCAST);
222
+ });
223
+ it("sets the location", () => {
224
+ chai_1.expect(app.location.streetAddress).to.equal(location.streetAddress);
225
+ chai_1.expect(app.location.geocode.latitude).to.equal(location.geocode.latitude);
226
+ chai_1.expect(app.location.geocode.longitude).to.equal(location.geocode.longitude);
227
+ });
228
+ it("sets the organizationId", () => {
229
+ chai_1.expect(app.organizationId).to.equal(organizationId);
230
+ });
231
+ it("sets the appId", () => {
232
+ chai_1.expect(app.appId).to.equal(appId);
233
+ });
234
+ it("sets the keywords", () => {
235
+ chai_1.expect(app.keywords).to.have.length(5);
236
+ });
237
+ it("sets the name", () => {
238
+ chai_1.expect(app.name).to.equal(name);
239
+ });
240
+ it("sets the invocation name and lower cases it", () => {
241
+ chai_1.expect(app.invocationName).to.equal(invocationName.toLowerCase());
242
+ });
243
+ it("sets the summary", () => {
244
+ chai_1.expect(app.summary).to.equal(summary);
245
+ });
246
+ it("sets the description", () => {
247
+ chai_1.expect(app.description).to.exist;
248
+ chai_1.expect(app.description).to.contain(summary);
249
+ chai_1.expect(app.description).to.contain(invocationName.toLowerCase());
250
+ });
251
+ it("sets the example phrases", () => {
252
+ chai_1.expect(app.examplePhrases).to.have.length(3);
253
+ chai_1.expect(app.examplePhrases[0]).to.contain(invocationName.toLowerCase());
254
+ });
255
+ it("sets the testing instructions", () => {
256
+ chai_1.expect(app.testingInstructions).to.exist;
257
+ });
258
+ it("sets the collaborationAgreementUrl", () => {
259
+ chai_1.expect(template.collaborationAgreementUrl).to.exist;
260
+ chai_1.expect(template.collaborationAgreementUrl).to.equal("https://hello.com");
261
+ });
262
+ it("adds the collaboration agreement URL to the testing instructions", () => {
263
+ chai_1.expect(app.testingInstructions).to.contain("https://go.xappmedia.com/" + app.organizationId + "/iprights");
264
+ });
265
+ it("sets the smallIcon", () => {
266
+ chai_1.expect(app.smallIcon).to.exist;
267
+ });
268
+ it("sets the largeIcon", () => {
269
+ chai_1.expect(app.largeIcon).to.exist;
270
+ });
271
+ describe("without invocation name", () => {
272
+ beforeEach(() => {
273
+ template = Object.assign({}, baseTemplateProps);
274
+ delete template.invocationName;
275
+ app = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateApp(template);
276
+ });
277
+ it("sets the invocation name to undefined", () => {
278
+ chai_1.expect(app.invocationName).to.be.undefined;
279
+ });
280
+ });
281
+ describe("with optional App", () => {
282
+ beforeEach(() => {
283
+ template = Object.assign({}, baseTemplateProps);
284
+ app = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateApp(template, {
285
+ organizationId,
286
+ appId,
287
+ name: "Test App",
288
+ keywords: ["EXISTING"],
289
+ location: {
290
+ streetAddress: "WRONG",
291
+ geocode: {
292
+ latitude: 4,
293
+ longitude: 5
294
+ }
295
+ }
296
+ });
297
+ });
298
+ it("uses the template keywords as precedence", () => {
299
+ chai_1.expect(app.keywords).to.have.length(5);
300
+ });
301
+ it("uses the template location as precedence", () => {
302
+ chai_1.expect(app.location.streetAddress).to.equal("Tuscon, AZ");
303
+ chai_1.expect(app.location.geocode.latitude).to.equal(2);
304
+ chai_1.expect(app.location.geocode.longitude).to.equal(3);
305
+ });
306
+ });
307
+ });
308
+ describe("#generateHandlers()", () => {
309
+ let template;
310
+ let handlers;
311
+ let handler;
312
+ beforeEach(() => {
313
+ template = Object.assign({}, baseTemplateProps);
314
+ handlers = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateHandlers(template);
315
+ handler = handlers[0];
316
+ });
317
+ it("returns the correct number of handlers", () => {
318
+ chai_1.expect(handlers).to.have.length(1);
319
+ });
320
+ it("sets the intentId as a LaunchRequest", () => {
321
+ chai_1.expect(handler.intentId).to.equal("LaunchRequest");
322
+ });
323
+ it("sets the type as a Play Podcast Handler type", () => {
324
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
325
+ if (stentor_handler_1.isHandler(handler)) {
326
+ chai_1.expect(handler.type).to.equal(stentor_handler_media_1.PLAY_PODCAST_HANDLER_TYPE);
327
+ }
328
+ });
329
+ it("sets the organizationId", () => {
330
+ chai_1.expect(handler.organizationId).to.equal(organizationId);
331
+ });
332
+ it("sets the appId", () => {
333
+ chai_1.expect(handler.appId).to.equal("appId");
334
+ });
335
+ it("sets the name", () => {
336
+ chai_1.expect(handler.name).to.have.length.greaterThan(0);
337
+ });
338
+ it("sets the RSS feed url on the data", () => {
339
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
340
+ if (stentor_handler_1.isHandler(handler)) {
341
+ chai_1.expect(handler.data).to.have.property("url", "https://some.url");
342
+ }
343
+ });
344
+ describe("with undefined URL on the template", () => {
345
+ beforeEach(() => {
346
+ template = Object.assign({}, baseTemplateProps);
347
+ delete template.rssFeedUrl;
348
+ handlers = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateHandlers(template);
349
+ handler = handlers[0];
350
+ });
351
+ it("passes out a handler", () => {
352
+ chai_1.expect(handler).to.exist;
353
+ });
354
+ it("sets the url to an empty string", () => {
355
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
356
+ if (stentor_handler_1.isHandler(handler)) {
357
+ chai_1.expect(handler.data).to.have.property("url", "");
358
+ }
359
+ });
360
+ });
361
+ describe("with replaced content set", () => {
362
+ beforeEach(() => {
363
+ template = Object.assign({}, baseTemplateProps, { contentType: Constants_1.ON_DEMAND_CONTENT_TYPE_REPLACED });
364
+ handlers = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateHandlers(template);
365
+ handler = handlers[0];
366
+ });
367
+ it("returns the correct number of handlers", () => {
368
+ chai_1.expect(handlers).to.have.length(1);
369
+ });
370
+ it("sets alwaysPlayLatest to true", () => {
371
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
372
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
373
+ chai_1.expect(handler.data.alwaysPlayLatest).to.be.true;
374
+ }
375
+ });
376
+ it("sets nextIsOlder to true", () => {
377
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
378
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
379
+ chai_1.expect(handler.data.nextIsOlder).to.be.true;
380
+ }
381
+ });
382
+ it("sets offerToPlayLatest to false", () => {
383
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
384
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
385
+ chai_1.expect(handler.data.offerToPlayLatest).to.be.false;
386
+ }
387
+ });
388
+ describe("with existing handlers", () => {
389
+ beforeEach(() => {
390
+ template = Object.assign({}, baseTemplateProps, { contentType: Constants_1.ON_DEMAND_CONTENT_TYPE_REPLACED });
391
+ const existingHandler = Object.assign({}, basePlayPodcastHandlerProps, { data: {
392
+ url: rssFeedUrl,
393
+ nextIsOlder: false
394
+ } });
395
+ // Pass it an existing handler that has nextIsOlder set to false
396
+ // which simulates a customer that wanted something different
397
+ // from the default
398
+ handlers = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateHandlers(template, [existingHandler]);
399
+ handler = handlers[0];
400
+ });
401
+ it("returns the correct number of handlers", () => {
402
+ chai_1.expect(handlers).to.have.length(1);
403
+ });
404
+ it("sets alwaysPlayLatest to true", () => {
405
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
406
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
407
+ chai_1.expect(handler.data.alwaysPlayLatest).to.be.true;
408
+ }
409
+ });
410
+ it("keeps the preexisting setting for nextIsOlder of false", () => {
411
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
412
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
413
+ chai_1.expect(handler.data.nextIsOlder).to.be.false;
414
+ }
415
+ });
416
+ });
417
+ });
418
+ describe("with contentType set to stand alone", () => {
419
+ beforeEach(() => {
420
+ template = Object.assign({}, baseTemplateProps, { contentType: Constants_1.ON_DEMAND_CONTENT_TYPE_STAND_ALONE });
421
+ handlers = new OnDemandTemplateFactory_1.OnDemandTemplateFactory().generateHandlers(template);
422
+ handler = handlers[0];
423
+ });
424
+ it("returns the correct number of handlers", () => {
425
+ chai_1.expect(handlers).to.have.length(1);
426
+ });
427
+ it("sets offerToPlayLatest to true", () => {
428
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
429
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
430
+ chai_1.expect(handler.data.offerToPlayLatest).to.be.true;
431
+ }
432
+ });
433
+ it("sets nextIsOlder to false", () => {
434
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
435
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
436
+ chai_1.expect(handler.data.nextIsOlder).to.be.false;
437
+ }
438
+ });
439
+ it("sets alwaysPlayLatest to false", () => {
440
+ chai_1.expect(stentor_handler_media_1.isPlayPodcastHandlerProps(handler)).to.be.true;
441
+ if (stentor_handler_media_1.isPlayPodcastHandlerProps(handler)) {
442
+ chai_1.expect(handler.data.alwaysPlayLatest).to.be.false;
443
+ }
444
+ });
445
+ });
446
+ });
447
+ });
448
+ //# sourceMappingURL=OnDemandTemplateFactory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnDemandTemplateFactory.test.js","sourceRoot":"","sources":["../../../src/onDemand/__test__/OnDemandTemplateFactory.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* tslint:disable:no-magic-numbers */
4
+ const chai_1 = require("chai");
5
+ const stentor_alexa_1 = require("@xapp/stentor-alexa");
6
+ const stentor_handler_1 = require("@xapp/stentor-handler");
7
+ const stentor_handler_media_1 = require("@xapp/stentor-handler-media");
8
+ const __1 = require("../");
9
+ const organizationId = "UnitTestOrganizationId";
10
+ const appId = "appId";
11
+ const intentId = "intentId";
12
+ const name = "name";
13
+ const invocationName = "invocationName";
14
+ const summary = "summary";
15
+ const icon = "https://some.url/prod/ACME/image-name.png";
16
+ const appIcon = "https://some.other.url/prod/ACME/image-two.png";
17
+ const location = {
18
+ streetAddress: "Tuscon, AZ",
19
+ geocode: {
20
+ latitude: 2,
21
+ longitude: 3
22
+ }
23
+ };
24
+ const platformData = {
25
+ alexa: {
26
+ platform: stentor_alexa_1.ALEXA_PLATFORM,
27
+ privacyAndCompliance: {
28
+ allowsPurchases: true,
29
+ containsAds: false,
30
+ isChildDirected: true,
31
+ isExportCompliant: false,
32
+ usesPersonalInfo: true
33
+ }
34
+ }
35
+ };
36
+ const baseProps = {
37
+ templateType: __1.RADIO_TEMPLATE,
38
+ organizationId,
39
+ appId,
40
+ name,
41
+ invocationName,
42
+ summary,
43
+ icon,
44
+ collaborationAgreementUrl: "https://hello.com",
45
+ location,
46
+ keywords: __1.RADIO_TEMPLATE_KEYWORDS,
47
+ liveStreamUrl: "https://some.url",
48
+ customIntros: [
49
+ {
50
+ name: "Intro 1",
51
+ outputSpeech: "Hi",
52
+ schedule: {
53
+ start: {
54
+ time: "9:00 Z",
55
+ format: "H:mm Z"
56
+ },
57
+ duration: {
58
+ amount: 2,
59
+ format: "h"
60
+ }
61
+ }
62
+ },
63
+ {
64
+ name: "Intro 2",
65
+ outputSpeech: "hi"
66
+ }
67
+ ],
68
+ platformData
69
+ };
70
+ describe("RadioTemplateFactory", () => {
71
+ describe("#generateTemplate()", () => {
72
+ let template;
73
+ beforeEach(() => {
74
+ template = new __1.RadioTemplateFactory().generateTemplate({
75
+ organizationId,
76
+ appId,
77
+ name,
78
+ invocationName,
79
+ icon: appIcon,
80
+ testingInstructions: "Hello https://you.found.me More text",
81
+ location: {
82
+ streetAddress: "Pheonix, AZ",
83
+ geocode: {
84
+ latitude: 1,
85
+ longitude: 0
86
+ }
87
+ },
88
+ platformData: {
89
+ alexa: {
90
+ platform: "alexa",
91
+ privacyAndCompliance: {
92
+ allowsPurchases: false,
93
+ containsAds: true,
94
+ isChildDirected: false,
95
+ isExportCompliant: true,
96
+ usesPersonalInfo: false
97
+ }
98
+ }
99
+ }
100
+ }, [
101
+ {
102
+ intentId,
103
+ appId,
104
+ organizationId,
105
+ type: stentor_handler_media_1.PLAY_LIVE_STREAM_HANDLER_TYPE,
106
+ content: {
107
+ [intentId]: [
108
+ {
109
+ outputSpeech: "hello"
110
+ }
111
+ ]
112
+ },
113
+ data: {
114
+ url: "https://some.other.url"
115
+ }
116
+ }
117
+ ]);
118
+ });
119
+ it("sets the type", () => {
120
+ chai_1.expect(template.templateType).to.equal(__1.RADIO_TEMPLATE);
121
+ });
122
+ it("sets the keywords", () => {
123
+ chai_1.expect(template.keywords).to.have.length(4);
124
+ });
125
+ it("sets the invocation name", () => {
126
+ chai_1.expect(template.invocationName).to.equal(invocationName);
127
+ });
128
+ it("sets the live stream url", () => {
129
+ chai_1.expect(template.liveStreamUrl).to.equal("https://some.other.url");
130
+ });
131
+ it("sets the custom intros", () => {
132
+ chai_1.expect(template.customIntros).to.exist;
133
+ chai_1.expect(template.customIntros).to.have.length(1);
134
+ });
135
+ it("sets the collaborationAgreementUrl", () => {
136
+ chai_1.expect(template.collaborationAgreementUrl).to.exist;
137
+ chai_1.expect(template.collaborationAgreementUrl).to.equal("https://you.found.me");
138
+ });
139
+ it("sets the address", () => {
140
+ chai_1.expect(template.location.streetAddress).to.equal("Pheonix, AZ");
141
+ });
142
+ it("sets the geocode on the location", () => {
143
+ chai_1.expect(template.location.geocode.latitude).to.equal(1);
144
+ chai_1.expect(template.location.geocode.longitude).to.equal(0);
145
+ });
146
+ it("sets the icon", () => {
147
+ chai_1.expect(template.icon).to.equal(appIcon);
148
+ });
149
+ it("sets the small icon", () => {
150
+ chai_1.expect(template.smallIcon).to.contain("https://some.other");
151
+ });
152
+ it("sets the large icon", () => {
153
+ chai_1.expect(template.largeIcon).to.contain("https://some.other");
154
+ });
155
+ it("sets the platformData", () => {
156
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.allowsPurchases).to.equal(false);
157
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.containsAds).to.equal(true);
158
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.isChildDirected).to.equal(false);
159
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.isExportCompliant).to.equal(true);
160
+ chai_1.expect(template.platformData.alexa.privacyAndCompliance.usesPersonalInfo).to.equal(false);
161
+ });
162
+ });
163
+ describe("#generateApp()", () => {
164
+ let template;
165
+ let app;
166
+ beforeEach(() => {
167
+ template = Object.assign({}, baseProps);
168
+ app = new __1.RadioTemplateFactory().generateApp(template);
169
+ });
170
+ it("sets the type", () => {
171
+ chai_1.expect(app.templateType).to.equal(__1.RADIO_TEMPLATE);
172
+ });
173
+ it("sets the location", () => {
174
+ chai_1.expect(app.location.streetAddress).to.equal(location.streetAddress);
175
+ chai_1.expect(app.location.geocode.latitude).to.equal(location.geocode.latitude);
176
+ chai_1.expect(app.location.geocode.longitude).to.equal(location.geocode.longitude);
177
+ });
178
+ it("sets the organizationId", () => {
179
+ chai_1.expect(app.organizationId).to.equal(organizationId);
180
+ });
181
+ it("sets the appId", () => {
182
+ chai_1.expect(app.appId).to.equal(appId);
183
+ });
184
+ it("sets the keywords", () => {
185
+ chai_1.expect(app.keywords).to.have.length(4);
186
+ });
187
+ it("sets the name", () => {
188
+ chai_1.expect(app.name).to.equal(name);
189
+ });
190
+ it("sets the invocation name and lower cases it", () => {
191
+ chai_1.expect(app.invocationName).to.equal(invocationName.toLowerCase());
192
+ });
193
+ it("sets the summary", () => {
194
+ chai_1.expect(app.summary).to.equal(summary);
195
+ });
196
+ it("sets the description", () => {
197
+ chai_1.expect(app.description).to.exist;
198
+ chai_1.expect(app.description).to.contain(summary);
199
+ chai_1.expect(app.description).to.contain(invocationName.toLowerCase());
200
+ });
201
+ it("sets the example phrases", () => {
202
+ chai_1.expect(app.examplePhrases).to.have.length(3);
203
+ chai_1.expect(app.examplePhrases[0]).to.contain(invocationName.toLowerCase());
204
+ });
205
+ it("sets the testing instructions", () => {
206
+ chai_1.expect(app.testingInstructions).to.exist;
207
+ });
208
+ it("adds the collaboration agreement URL to the testing instructions", () => {
209
+ chai_1.expect(app.testingInstructions).to.contain("https://go.xappmedia.com/" + app.organizationId + "/iprights");
210
+ });
211
+ it("sets the smallIcon", () => {
212
+ chai_1.expect(app.smallIcon).to.exist;
213
+ });
214
+ it("sets the largeIcon", () => {
215
+ chai_1.expect(app.largeIcon).to.exist;
216
+ });
217
+ describe("with optional App", () => {
218
+ beforeEach(() => {
219
+ template = Object.assign({}, baseProps);
220
+ app = new __1.RadioTemplateFactory().generateApp(template, {
221
+ organizationId,
222
+ appId,
223
+ name: "Test App",
224
+ keywords: ["EXISTING"],
225
+ location: {
226
+ streetAddress: "WRONG",
227
+ geocode: {
228
+ latitude: 4,
229
+ longitude: 5
230
+ }
231
+ }
232
+ });
233
+ });
234
+ it("uses the template keywords as precedence", () => {
235
+ chai_1.expect(app.keywords).to.have.length(4);
236
+ });
237
+ it("uses the template location as precedence", () => {
238
+ chai_1.expect(app.location.streetAddress).to.equal("Tuscon, AZ");
239
+ chai_1.expect(app.location.geocode.latitude).to.equal(2);
240
+ chai_1.expect(app.location.geocode.longitude).to.equal(3);
241
+ });
242
+ });
243
+ });
244
+ describe("#generateIntentsAndHandlers()", () => {
245
+ let template;
246
+ let handlers;
247
+ let handler;
248
+ beforeEach(() => {
249
+ template = Object.assign({}, baseProps);
250
+ handlers = new __1.RadioTemplateFactory().generateHandlers(template);
251
+ handler = handlers[0];
252
+ });
253
+ it("returns the correct number of handlers", () => {
254
+ chai_1.expect(handlers).to.have.length(1);
255
+ });
256
+ it("sets the intentId as a LaunchRequest", () => {
257
+ chai_1.expect(handler.intentId).to.equal("LaunchRequest");
258
+ });
259
+ it("sets the type as a Live Stream Intent", () => {
260
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
261
+ if (stentor_handler_1.isHandler(handler)) {
262
+ chai_1.expect(handler.type).to.equal(stentor_handler_media_1.PLAY_LIVE_STREAM_HANDLER_TYPE);
263
+ }
264
+ });
265
+ it("sets the organizationId", () => {
266
+ chai_1.expect(handler.organizationId).to.equal(organizationId);
267
+ });
268
+ it("sets the appId", () => {
269
+ chai_1.expect(handler.appId).to.equal("appId");
270
+ });
271
+ it("sets the name", () => {
272
+ chai_1.expect(handler.name).to.have.length.greaterThan(0);
273
+ });
274
+ it("sets the live stream url on the data", () => {
275
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
276
+ if (stentor_handler_1.isHandler(handler)) {
277
+ chai_1.expect(handler.data).to.have.property("url", "https://some.url");
278
+ }
279
+ });
280
+ describe("when passed an undefined URL", () => {
281
+ beforeEach(() => {
282
+ template = Object.assign({}, baseProps);
283
+ delete template.liveStreamUrl;
284
+ handlers = new __1.RadioTemplateFactory().generateHandlers(template);
285
+ handler = handlers[0];
286
+ });
287
+ it("passes out a handler", () => {
288
+ chai_1.expect(handler).to.exist;
289
+ });
290
+ it("sets the url to an empty string", () => {
291
+ chai_1.expect(stentor_handler_1.isHandler(handler)).to.be.true;
292
+ if (stentor_handler_1.isHandler(handler)) {
293
+ chai_1.expect(handler.data).to.have.property("url", "");
294
+ }
295
+ });
296
+ });
297
+ });
298
+ });
299
+ //# sourceMappingURL=RadioTemplateFactory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioTemplateFactory.test.js","sourceRoot":"","sources":["../../../src/radio/__test__/RadioTemplateFactory.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "restricted"
6
6
  },
7
- "version": "1.0.0-beta.38",
7
+ "version": "1.0.0-beta.6",
8
8
  "description": "PLACEHOLDER DESCRIPTION OF PACKAGE",
9
9
  "types": "lib/index",
10
10
  "main": "lib/index",
@@ -12,7 +12,7 @@
12
12
  "lib"
13
13
  ],
14
14
  "engines": {
15
- "node": "10.x"
15
+ "node": "10.16.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/chai": "4.1.7",
@@ -23,19 +23,19 @@
23
23
  "typescript": "3.3.4000"
24
24
  },
25
25
  "dependencies": {
26
- "@xapp/stentor-alexa": "^1.0.0-beta.38",
27
- "@xapp/stentor-app": "^1.0.0-beta.38",
28
- "@xapp/stentor-constants": "^1.0.0-beta.38",
29
- "@xapp/stentor-handler": "^1.0.0-beta.38",
30
- "@xapp/stentor-handler-media": "^1.0.0-beta.38",
31
- "@xapp/stentor-interaction-model": "^1.0.0-beta.38",
32
- "@xapp/stentor-models": "^1.0.0-beta.38",
33
- "@xapp/stentor-request": "^1.0.0-beta.38"
26
+ "@xapp/stentor-alexa": "^1.0.0-beta.6",
27
+ "@xapp/stentor-app": "^1.0.0-beta.6",
28
+ "@xapp/stentor-constants": "^1.0.0-beta.6",
29
+ "@xapp/stentor-handler": "^1.0.0-beta.6",
30
+ "@xapp/stentor-handler-media": "^1.0.0-beta.6",
31
+ "@xapp/stentor-interaction-model": "^1.0.0-beta.6",
32
+ "@xapp/stentor-models": "^1.0.0-beta.6",
33
+ "@xapp/stentor-request": "^1.0.0-beta.6"
34
34
  },
35
35
  "scripts": {
36
36
  "build": "tsc -d true -p .",
37
37
  "clean": "rm -rf ./lib/*",
38
38
  "test": "mocha --recursive -r ts-node/register \"./src/**/*.test.ts\""
39
39
  },
40
- "gitHead": "daced3e8046c996b41b73eabdbb900307e895dfc"
40
+ "gitHead": "03fd83b0cea48bc48d616ce1e0cf8ab8d0f7d9ba"
41
41
  }