ASK Assertions contains a number of helpers for testing common skill responses in projects built with the amazing Alexa Skills Kit SDK for Node.js.
Although, this package is based on the helpers from the Single Stream Audio Skill, it is in no way affiliated with or endorsed by Amazon or the Alexa team.
Install ask-assertions
as a devDependency:
$ npm i -D ask-assertions
Note:
ask-assertions
requires the following peerDependencies
ask-sdk-models
>= 1.11.xchai
>= 4.2.x
Example using mocha + chai with TypeScript.
import "mocha";
import * as assertions from "ask-assertions";
import { ResponseEnvelope } from "ask-sdk-model";
import { handler as skill } from "../src/index";
let skillResponse: ResponseEnvelope;
describe("AMAZON.HelpIntent", function testHelpIntent() {
before(() => {
this.timeout(5000);
return new Promise(resolve => {
skill(helpIntentRequest, null, (_, responseEnvelope) => {
skillResponse = responseEnvelope;
resolve();
});
});
});
it("should return a valid skill response", () => {
assertions.checkResponseStructure(skillResponse);
});
it("should return valid output speeach", () => {
assertions.checkOutputSpeech(skillResponse);
});
it("should say 'This skill can do cool things'", () => {
assertions.checkOutputSpeechContains(skillResponse, "This skill can do cool things");
});
});
These helpers were adapated to my workflow and common use-cases. If you have ideas on how to improve or expand them, please start a discussion via Github issues. Cheers.