@saasquatch/program-test-suite 2.1.2-0 → 2.2.1
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.
- package/CHANGELOG.md +29 -0
- package/README.md +45 -0
- package/dist/faker.js +2 -1
- package/dist/faker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/steps/assertions.js +27 -25
- package/dist/steps/assertions.js.map +1 -1
- package/dist/steps/events.js.map +1 -1
- package/dist/steps/index.js +2 -2
- package/dist/steps/index.js.map +1 -1
- package/dist/steps/referral.js.map +1 -1
- package/dist/steps/rules.js +1 -1
- package/dist/steps/rules.js.map +1 -1
- package/dist/steps/trigger.js +16 -4
- package/dist/steps/trigger.js.map +1 -1
- package/dist/steps/user.js +9 -4
- package/dist/steps/user.js.map +1 -1
- package/dist/world.d.ts +8 -7
- package/dist/world.js +15 -10
- package/dist/world.js.map +1 -1
- package/package.json +7 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [2.1.2] - (2022-08-25)
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added messages for all `assert` function calls to improve the debugging experience
|
|
13
|
+
for failing tests
|
|
14
|
+
- Added README and CHANGELOG
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Allow the `SCHEDULED` and `REWARD_SCHEDULED` triggers to be used with the program
|
|
19
|
+
trigger step definition
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Fixed the `rules` and `template` variables of `World` being mutated across resets
|
|
24
|
+
- Fixed the time machine step incorrectly passing the time as a string to the program
|
|
25
|
+
instead of as a number
|
|
26
|
+
- Fixed the segment-add step incorrectly including quotes in the added segments (`A"`
|
|
27
|
+
instead of `A`)
|
|
28
|
+
|
|
29
|
+
[2.1.2]: https://github.com/saasquatch/picklesdoc/releases/tag/v2.1.2
|
package/README.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# SaaSquatch Program Test Suite
|
|
2
|
+
|
|
3
|
+
This package contains everything needed to facilitate blackbox unit testing of the
|
|
4
|
+
SaaSquatch programs. It includes a family of default Cucumber step definitions and tools
|
|
5
|
+
for simulated execution of the programs.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D @saasquatch/program-test-suite
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
The program test suite is based on Jest. Place the following inside your Jest config:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { jestConfig } from "@saasquatch/program-test-suite";
|
|
19
|
+
export default jestConfig;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Use the `runProgramTests` function to execute the tests. Here is an example of a typical
|
|
23
|
+
test program:
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
// Import your program from the source code. This is a `types.rpc.Program` that you would
|
|
27
|
+
// pass to program-boilerplate
|
|
28
|
+
import { program } from "../src/program";
|
|
29
|
+
import { runProgramTests } from "@saasquatch/program-test-suite";
|
|
30
|
+
|
|
31
|
+
// Any additional custom steps you need for this particular program
|
|
32
|
+
import steps from "./steps";
|
|
33
|
+
|
|
34
|
+
runProgramTests(
|
|
35
|
+
program,
|
|
36
|
+
// Path to the .feature files containing the unit test steps
|
|
37
|
+
"__tests__/features/unit",
|
|
38
|
+
steps,
|
|
39
|
+
// Path to the program schema
|
|
40
|
+
"src/schema/birthday-program_schema.json",
|
|
41
|
+
// Default program template and program rules to use while testing
|
|
42
|
+
"__tests__/defaults/template.json",
|
|
43
|
+
"__tests__/defaults/rules.json"
|
|
44
|
+
);
|
|
45
|
+
```
|
package/dist/faker.js
CHANGED
|
@@ -51,11 +51,12 @@ function getIntrospectionJson(template, rules, rewards) {
|
|
|
51
51
|
}
|
|
52
52
|
exports.getIntrospectionJson = getIntrospectionJson;
|
|
53
53
|
function getProgramTriggerJson(info) {
|
|
54
|
+
var _a;
|
|
54
55
|
return {
|
|
55
56
|
messageType: "PROGRAM_TRIGGER",
|
|
56
57
|
activeTrigger: {
|
|
57
58
|
type: info.type,
|
|
58
|
-
time: info.time
|
|
59
|
+
time: (_a = info.time) !== null && _a !== void 0 ? _a : Date.now(),
|
|
59
60
|
user: info.user,
|
|
60
61
|
},
|
|
61
62
|
program: {
|
package/dist/faker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faker.js","sourceRoot":"","sources":["../src/faker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAO/B,SAAgB,iBAAiB,CAC/B,IAAyB,EACzB,EAAU,EACV,KAAU;IAEV,OAAO;QACL,WAAW,EAAE,oBAAoB;QACjC,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACP,EAAE;YACF,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAdD,8CAcC;AAED,SAAgB,oBAAoB,CAClC,QAAc,EACd,KAAW,EACX,OAAe;IAEf,OAAO;QACL,WAAW,EAAE,uBAAuB;QACpC,QAAQ;QACR,KAAK;QACL,OAAO,EAAE;YACP,EAAE,EAAE,IAAI;YACR,KAAK;YACL,OAAO;SACR;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,KAAK;SAClB;KACF,CAAC;AACJ,CAAC;AAnBD,oDAmBC;AASD,SAAgB,qBAAqB,CACnC,IAAwB
|
|
1
|
+
{"version":3,"file":"faker.js","sourceRoot":"","sources":["../src/faker.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StepDefinitions } from "jest-cucumber";
|
|
2
1
|
import { types } from "@saasquatch/program-boilerplate";
|
|
2
|
+
import { StepDefinitions } from "jest-cucumber";
|
|
3
3
|
export { default as jestConfig } from "./jest.config";
|
|
4
4
|
export { getWorld } from "./world";
|
|
5
5
|
export declare function runProgramTests(program: types.rpc.Program, featurePath: string, steps: StepDefinitions[], schemaFile: string, templateFile: string, rulesFile: string, featureFilterTags?: string[]): void;
|
package/dist/index.js
CHANGED
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.runProgramTests = exports.getWorld = exports.jestConfig = void 0;
|
|
7
7
|
const glob_1 = require("glob");
|
|
8
8
|
const jest_cucumber_1 = require("jest-cucumber");
|
|
9
|
-
const world_1 = require("./world");
|
|
10
9
|
const steps_1 = __importDefault(require("./steps"));
|
|
10
|
+
const world_1 = require("./world");
|
|
11
11
|
var jest_config_1 = require("./jest.config");
|
|
12
12
|
Object.defineProperty(exports, "jestConfig", { enumerable: true, get: function () { return __importDefault(jest_config_1).default; } });
|
|
13
13
|
var world_2 = require("./world");
|
|
14
14
|
Object.defineProperty(exports, "getWorld", { enumerable: true, get: function () { return world_2.getWorld; } });
|
|
15
15
|
function runProgramTests(program, featurePath, steps, schemaFile, templateFile, rulesFile, featureFilterTags) {
|
|
16
|
-
world_1.
|
|
17
|
-
world_1.
|
|
16
|
+
world_1.getWorld().setProgram(program);
|
|
17
|
+
world_1.getWorld().loadDefaults(templateFile, schemaFile, rulesFile);
|
|
18
18
|
const features = [];
|
|
19
19
|
const featureFiles = glob_1.sync(`${featurePath}/**/*.feature`);
|
|
20
20
|
if (!featureFiles.length) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,+BAAwC;AACxC,iDAA4E;AAC5E,oDAAmC;AACnC,mCAAmC;AAEnC,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB,SAAgB,eAAe,CAC7B,OAA0B,EAC1B,WAAmB,EACnB,KAAwB,EACxB,UAAkB,EAClB,YAAoB,EACpB,SAAiB,EACjB,iBAA4B;IAE5B,gBAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,gBAAQ,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAqC,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,WAAQ,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;IAE7D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,GAAG,CAAC,CAAC;KACpE;IAED,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;QACpC,IAAI;YACF,MAAM,OAAO,GAAG,2BAAW,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,EACpC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1E,MAAM,CAAC,CAAC;SACT;KACF;IAED,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;QAC5B,6EAA6E;QAC7E,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;YACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACtB,QAAQ,CAAC,KAAK,GAAG,GAAG,QAAQ,CAAC,KAAK,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;SACxE;QACD,KAAK,IAAI,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE;YACpD,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC/B,eAAe,CAAC,KAAK,GAAG,GACtB,eAAe,CAAC,KAClB,QAAQ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;aAC3C;YACD,KAAK,IAAI,QAAQ,IAAI,eAAe,CAAC,SAAS,EAAE;gBAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC/B,QAAQ,CAAC,KAAK,GAAG,GAAG,QAAQ,CAAC,KAAK,QAAQ,eAAe,CAAC,IAAI,CAAC,IAAI,CACjE,GAAG,CACJ,GAAG,CAAC;iBACN;aACF;SACF;KACF;IAED,6BAAa,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,eAAY,CAAC,CAAC,CAAC;AACvD,CAAC;AAvDD,0CAuDC"}
|
package/dist/steps/assertions.js
CHANGED
|
@@ -3,16 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const program_boilerplate_1 = require("@saasquatch/program-boilerplate");
|
|
6
7
|
const assert_1 = __importDefault(require("assert"));
|
|
7
8
|
const dlv_1 = __importDefault(require("dlv"));
|
|
8
|
-
const program_boilerplate_1 = require("@saasquatch/program-boilerplate");
|
|
9
9
|
const world_1 = require("../world");
|
|
10
10
|
const assertionSteps = ({ then }) => {
|
|
11
11
|
then(/^the output template will include a "?([^"]+)"? requirement$/, (key) => {
|
|
12
12
|
const reqs = world_1.getWorld().state.programTriggerResult.requirements;
|
|
13
13
|
const reqFound = reqs.find((r) => r.key === key);
|
|
14
14
|
world_1.getWorld().setState({ assertionResults: { foundRequirement: reqFound } });
|
|
15
|
-
assert_1.default(reqFound);
|
|
15
|
+
assert_1.default(reqFound, `"${key}" requirement was not found in the requirements`);
|
|
16
16
|
});
|
|
17
17
|
then("the requirement will include a graphql query", () => {
|
|
18
18
|
const query = world_1.getWorld().state.assertionResults.foundRequirement.query;
|
|
@@ -24,7 +24,7 @@ const assertionSteps = ({ then }) => {
|
|
|
24
24
|
const results = world_1.getWorld().state.programTriggerResult.validationResults;
|
|
25
25
|
data.forEach((row) => {
|
|
26
26
|
const relevantResult = results.find((r) => r.key === row.key);
|
|
27
|
-
assert_1.default(relevantResult);
|
|
27
|
+
assert_1.default(relevantResult, `Failed to locate validation result with key "${row.key}"`);
|
|
28
28
|
assert_1.default(relevantResult.results.some((r) => {
|
|
29
29
|
return r.message === row.message && r.status === row.status;
|
|
30
30
|
}), `failed to find validation result: ${row.message} ${row.status}`);
|
|
@@ -55,7 +55,7 @@ const assertionSteps = ({ then }) => {
|
|
|
55
55
|
`${row.user.toUpperCase()}ACCOUNTID` &&
|
|
56
56
|
m.data.key === row.key);
|
|
57
57
|
});
|
|
58
|
-
assert_1.default.strictEqual(relevantRewards.length, Number(row.count));
|
|
58
|
+
assert_1.default.strictEqual(relevantRewards.length, Number(row.count), `Expected to find ${row.count} rewards but only found ${relevantRewards.length}`);
|
|
59
59
|
break;
|
|
60
60
|
case "email":
|
|
61
61
|
const relevantEmails = world_1.getWorld().state.programTriggerResult.mutations.filter((m) => {
|
|
@@ -65,7 +65,7 @@ const assertionSteps = ({ then }) => {
|
|
|
65
65
|
`${row.user.toUpperCase()}ACCOUNTID` &&
|
|
66
66
|
m.data.key === row.key);
|
|
67
67
|
});
|
|
68
|
-
assert_1.default.strictEqual(relevantEmails.length, Number(row.count));
|
|
68
|
+
assert_1.default.strictEqual(relevantEmails.length, Number(row.count), `Expected to find ${row.count} emails but only found ${relevantEmails.length}`);
|
|
69
69
|
break;
|
|
70
70
|
default:
|
|
71
71
|
}
|
|
@@ -77,7 +77,7 @@ const assertionSteps = ({ then }) => {
|
|
|
77
77
|
a.data.user.id === `${user.toUpperCase()}ID` &&
|
|
78
78
|
a.data.user.accountId === `${user.toUpperCase()}ACCOUNTID`);
|
|
79
79
|
});
|
|
80
|
-
assert_1.default.strictEqual(relevantAnalytics.length, 0);
|
|
80
|
+
assert_1.default.strictEqual(relevantAnalytics.length, 0, `Expected to find 0 "${type}" analytics for "${user}" but found ${relevantAnalytics.length}`);
|
|
81
81
|
});
|
|
82
82
|
then("the following analytics will exist:", (data) => {
|
|
83
83
|
data.forEach((row) => {
|
|
@@ -89,14 +89,16 @@ const assertionSteps = ({ then }) => {
|
|
|
89
89
|
(!row.isConversion ||
|
|
90
90
|
a.data.isConversion === program_boilerplate_1.inferType(row.isConversion)));
|
|
91
91
|
});
|
|
92
|
-
assert_1.default.strictEqual(relevantAnalytics.length, Number(row.count));
|
|
92
|
+
assert_1.default.strictEqual(relevantAnalytics.length, Number(row.count), `Expected to find ${row.count} analytics but only found ${relevantAnalytics.length}`);
|
|
93
93
|
});
|
|
94
94
|
});
|
|
95
95
|
then("there will be no mutations", () => {
|
|
96
|
-
|
|
96
|
+
const numMutations = world_1.getWorld().state.programTriggerResult.mutations.length;
|
|
97
|
+
assert_1.default.strictEqual(numMutations, 0, `Expected 0 mutations but found ${numMutations}`);
|
|
97
98
|
});
|
|
98
99
|
then("there will be no analytics", () => {
|
|
99
|
-
|
|
100
|
+
const numAnalytics = world_1.getWorld().state.programTriggerResult.analytics.length;
|
|
101
|
+
assert_1.default.strictEqual(numAnalytics, 0, `Expected 0 analytics but found ${numAnalytics}`);
|
|
100
102
|
});
|
|
101
103
|
then(/^there will be (\d+) "?([^"]+)"? reward(s) for the "?([^"]+)"? user$/, (count, key, user) => {
|
|
102
104
|
const relevantRewards = world_1.getWorld().state.programTriggerResult.mutations.filter((m) => {
|
|
@@ -105,45 +107,45 @@ const assertionSteps = ({ then }) => {
|
|
|
105
107
|
m.data.user.accountId === `${user.toUpperCase()}ACCOUNTID` &&
|
|
106
108
|
m.data.key === key);
|
|
107
109
|
});
|
|
108
|
-
assert_1.default.strictEqual(relevantRewards.length, count);
|
|
110
|
+
assert_1.default.strictEqual(relevantRewards.length, count, `Expected to find ${count} "${key}" analytics for "${user}" but found ${relevantRewards.length}`);
|
|
109
111
|
});
|
|
110
112
|
then(/^there will be no reward "?([^"]+)"?$/, (rewardKey) => {
|
|
111
113
|
const relevantRewards = world_1.getWorld().state.programTriggerResult.mutations.filter((m) => {
|
|
112
114
|
return m.type === "CREATE_REWARD" && m.data.key === rewardKey;
|
|
113
115
|
});
|
|
114
|
-
assert_1.default.strictEqual(relevantRewards.length, 0);
|
|
116
|
+
assert_1.default.strictEqual(relevantRewards.length, 0, `Expected to find 0 "${rewardKey}" rewards but found ${relevantRewards.length}`);
|
|
115
117
|
});
|
|
116
118
|
then(/^there will be (\d+) "?([^"]+)"? email(s) for the "?([^"]+)"? user$/, (count, key, user) => {
|
|
117
|
-
const
|
|
119
|
+
const relevantEmails = world_1.getWorld().state.programTriggerResult.mutations.filter((m) => {
|
|
118
120
|
return (m.type === "SEND_EMAIL" &&
|
|
119
121
|
m.data.user.id === `${user.toUpperCase()}ID` &&
|
|
120
122
|
m.data.user.accountId === `${user.toUpperCase()}ACCOUNTID` &&
|
|
121
123
|
m.data.key === key);
|
|
122
124
|
});
|
|
123
|
-
assert_1.default.strictEqual(
|
|
125
|
+
assert_1.default.strictEqual(relevantEmails.length, count, `Expected to find ${count} "${key}" emails for "${user}" but found ${relevantEmails.length}`);
|
|
124
126
|
});
|
|
125
127
|
then(/^the programId will be "?([^"]+)"?$/, (k) => {
|
|
126
|
-
assert_1.default.strictEqual(world_1.getWorld().state.programTriggerResult.programId, k);
|
|
128
|
+
assert_1.default.strictEqual(world_1.getWorld().state.programTriggerResult.programId, k, "Incorrect program ID");
|
|
127
129
|
});
|
|
128
130
|
then(/^the output will include a "?([^"]+)"? event key trigger$/, (key) => {
|
|
129
131
|
const trigger = world_1.getWorld().state.programTriggerResult.trigger;
|
|
130
|
-
assert_1.default(trigger.eventKeys.includes(key));
|
|
132
|
+
assert_1.default(trigger.eventKeys.includes(key), `Output didn't include a "${key}" event key trigger`);
|
|
131
133
|
});
|
|
132
134
|
then(/^the output will not include a "?([^"]+)"? email$/, (key) => {
|
|
133
|
-
const
|
|
134
|
-
assert_1.default(
|
|
135
|
+
const relevantEmails = world_1.getWorld().state.programTriggerResult.emails.filter((e) => e.key === key);
|
|
136
|
+
assert_1.default.deepStrictEqual(relevantEmails.length, 0, `Expected no "${key}" emails but found ${relevantEmails.length}`);
|
|
135
137
|
});
|
|
136
138
|
then(/^the output will include a "?([^"]+)"? email$/, (key) => {
|
|
137
|
-
const
|
|
138
|
-
assert_1.default(
|
|
139
|
+
const relevantEmails = world_1.getWorld().state.programTriggerResult.emails.filter((e) => e.key === key);
|
|
140
|
+
assert_1.default(relevantEmails.length > 0, `Expected to find "${key}" email but found none`);
|
|
139
141
|
});
|
|
140
142
|
then(/^the output will include a "?([^"]+)"? reward key$/, (key) => {
|
|
141
|
-
const
|
|
142
|
-
assert_1.default(
|
|
143
|
+
const relevantRewards = world_1.getWorld().state.programTriggerResult.rewards.filter((e) => e.key === key);
|
|
144
|
+
assert_1.default(relevantRewards.length > 0, `Expected to find "${key}" reward but found none`);
|
|
143
145
|
});
|
|
144
146
|
then(/^the output will not include a "?([^"]+)"? reward key$/, (key) => {
|
|
145
|
-
const
|
|
146
|
-
assert_1.default(
|
|
147
|
+
const relevantRewards = world_1.getWorld().state.programTriggerResult.rewards.filter((e) => e.key === key);
|
|
148
|
+
assert_1.default.deepStrictEqual(relevantRewards.length, 0, `Expected 0 "${key}" rewards but found ${relevantRewards.length}`);
|
|
147
149
|
});
|
|
148
150
|
then("the output will include the following rewards and emails:", (data) => {
|
|
149
151
|
const emails = world_1.getWorld().state.programTriggerResult.emails;
|
|
@@ -177,13 +179,13 @@ const assertionSteps = ({ then }) => {
|
|
|
177
179
|
assert_1.default.strictEqual(matchingMutations.length, 1);
|
|
178
180
|
});
|
|
179
181
|
then("the output template will be unchanged", () => {
|
|
180
|
-
assert_1.default.deepStrictEqual(world_1.getWorld().state.programTriggerResult, world_1.
|
|
182
|
+
assert_1.default.deepStrictEqual(world_1.getWorld().state.programTriggerResult, world_1.getWorld().getDefaultTemplate());
|
|
181
183
|
});
|
|
182
184
|
then(/^there will be no "?([^"]+)"? analytic for "?([^"]+)"?$/, (type, key) => {
|
|
183
185
|
const matching = world_1.getWorld().state.programTriggerResult.analytics.filter((a) => {
|
|
184
186
|
return a.eventType === type && a.data.analyticsKey === key;
|
|
185
187
|
});
|
|
186
|
-
assert_1.default.strictEqual(matching.length, 0);
|
|
188
|
+
assert_1.default.strictEqual(matching.length, 0, `Expected no "${type}" analytics for "${key}" but found ${matching.length}`);
|
|
187
189
|
});
|
|
188
190
|
};
|
|
189
191
|
exports.default = assertionSteps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../src/steps/assertions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../src/steps/assertions.ts"],"names":[],"mappings":"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"}
|
package/dist/steps/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/steps/events.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/steps/events.ts"],"names":[],"mappings":";;AACA,oCAAoC;AAEpC,MAAM,UAAU,GAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChD,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAChC,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,6BAA6B,EAAE,CAAC,IAAS,EAAE,EAAE;QACjD,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACvE;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
package/dist/steps/index.js
CHANGED
|
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assertions_1 = __importDefault(require("./assertions"));
|
|
6
7
|
const events_1 = __importDefault(require("./events"));
|
|
8
|
+
const referral_1 = __importDefault(require("./referral"));
|
|
7
9
|
const rules_1 = __importDefault(require("./rules"));
|
|
8
10
|
const trigger_1 = __importDefault(require("./trigger"));
|
|
9
11
|
const user_1 = __importDefault(require("./user"));
|
|
10
|
-
const assertions_1 = __importDefault(require("./assertions"));
|
|
11
|
-
const referral_1 = __importDefault(require("./referral"));
|
|
12
12
|
exports.default = [
|
|
13
13
|
events_1.default,
|
|
14
14
|
rules_1.default,
|
package/dist/steps/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":";;;;;AAAA,sDAAkC;AAClC,oDAAiC;AACjC,wDAAqC;AACrC,kDAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":";;;;;AAAA,8DAA0C;AAC1C,sDAAkC;AAClC,0DAAuC;AACvC,oDAAiC;AACjC,wDAAqC;AACrC,kDAA+B;AAE/B,kBAAe;IACb,gBAAU;IACV,eAAU;IACV,iBAAY;IACZ,cAAS;IACT,oBAAc;IACd,kBAAa;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referral.js","sourceRoot":"","sources":["../../src/steps/referral.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"referral.js","sourceRoot":"","sources":["../../src/steps/referral.ts"],"names":[],"mappings":";;AAAA,yEAA4D;AAE5D,oCAAoC;AAEpC,MAAM,aAAa,GAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACnD,KAAK,CACH,2DAA2D,EAC3D,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAC7B,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,CAAC,GAAG,CAAC,EAAE,+BAAS,CAAC,KAAK,CAAC;iBACxB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
package/dist/steps/rules.js
CHANGED
package/dist/steps/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/steps/rules.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/steps/rules.ts"],"names":[],"mappings":";;AACA,oCAAoC;AAEpC,MAAM,UAAU,GAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChD,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACvC,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;aACjB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACtC,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,WAAW,EAAE,SAAS;iBACvB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,6BAA6B,EAAE,CAAC,IAAY,EAAE,EAAE;QACpD,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;aACnB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
package/dist/steps/trigger.js
CHANGED
|
@@ -5,11 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const program_boilerplate_1 = require("@saasquatch/program-boilerplate");
|
|
7
7
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
8
|
-
const world_1 = require("../world");
|
|
9
8
|
const faker_1 = require("../faker");
|
|
9
|
+
const world_1 = require("../world");
|
|
10
10
|
const triggerSteps = ({ when }) => {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const triggerTypes = [
|
|
12
|
+
"PROGRAM_INTROSPECTION",
|
|
13
|
+
"PROGRAM_VALIDATION",
|
|
14
|
+
"AFTER_USER_CREATED_OR_UPDATED",
|
|
15
|
+
"AFTER_USER_EVENT_PROCESSED",
|
|
16
|
+
"REFERRAL",
|
|
17
|
+
"SCHEDULED",
|
|
18
|
+
"REWARD_SCHEDULED",
|
|
19
|
+
];
|
|
20
|
+
// prettier-ignore
|
|
21
|
+
const regexString = `^(?:the )?"?(${triggerTypes.join("|")})"?(?: trigger)? runs$`;
|
|
22
|
+
when(new RegExp(regexString), (type) => {
|
|
23
|
+
var _a;
|
|
24
|
+
const currentState = (_a = world_1.getWorld().state.current) !== null && _a !== void 0 ? _a : {};
|
|
13
25
|
const { template, rules, programRewards } = currentState;
|
|
14
26
|
let body;
|
|
15
27
|
switch (type) {
|
|
@@ -41,7 +53,7 @@ const triggerSteps = ({ when }) => {
|
|
|
41
53
|
break;
|
|
42
54
|
}
|
|
43
55
|
world_1.getWorld().setState({
|
|
44
|
-
programTriggerResult: program_boilerplate_1.triggerProgram(body, world_1.
|
|
56
|
+
programTriggerResult: program_boilerplate_1.triggerProgram(body, world_1.getWorld().getProgram()).json,
|
|
45
57
|
});
|
|
46
58
|
});
|
|
47
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/steps/trigger.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/steps/trigger.ts"],"names":[],"mappings":";;;;;AAAA,yEAAwE;AACxE,0DAAkC;AAElC,oCAOkB;AAClB,oCAAoC;AAEpC,MAAM,YAAY,GAAoB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG;QACnB,uBAAuB;QACvB,oBAAoB;QACpB,+BAA+B;QAC/B,4BAA4B;QAC5B,UAAU;QACV,WAAW;QACX,kBAAkB;KACnB,CAAC;IAEF,kBAAkB;IAClB,MAAM,WAAW,GAAG,gBAAgB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAEnF,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAA2B,EAAE,EAAE;;QAC5D,MAAM,YAAY,SAAG,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC;QACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;QAEzD,IAAI,IAAS,CAAC;QAEd,QAAQ,IAAI,EAAE;YACZ,KAAK,uBAAuB;gBAC1B,IAAI,GAAG,4BAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBAC7D,MAAM;YAER,KAAK,oBAAoB;gBACvB,IAAI,GAAG,yBAAiB,CACtB,gBAAQ,EAAE,CAAC,KAAK,CAAC,cAAc,EAC/B,QAAQ,CAAC,EAAE,EACX,KAAK,CACN,CAAC;gBACF,MAAM;YAER;gBACE,IAAI,GAAG,6BAAqB,CAAC;oBAC3B,IAAI;oBACJ,IAAI,EAAE,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;oBACnC,KAAK,EAAE,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;oBACrC,IAAI,EAAE,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;iBACpC,CAAC,CAAC;SACN;QAED,QAAQ,IAAI,EAAE;YACZ,KAAK,+BAA+B;gBAClC,IAAI,GAAG,mBAAS,CACd,IAAI,EACJ,qBAAa,CAAC,SAAS,EAAE,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAC1D,CAAC;gBACF,MAAM;YAER,KAAK,4BAA4B;gBAC/B,IAAI,GAAG,mBAAS,CAAC,IAAI,EAAE,oBAAY,CAAC,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtE,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,GAAG,mBAAS,CACd,IAAI,EACJ,uBAAe,CAAC,SAAS,EAAE,gBAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC9D,CAAC;gBACF,MAAM;YAER;gBACE,MAAM;SACT;QAED,gBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClB,oBAAoB,EAAE,oCAAc,CAAC,IAAI,EAAE,gBAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI;SACzE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/dist/steps/user.js
CHANGED
|
@@ -23,9 +23,12 @@ const userSteps = ({ given }) => {
|
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
|
-
given(/^the segment rules include segment (
|
|
27
|
-
|
|
28
|
-
segments.
|
|
26
|
+
given(/^the segment rules include segment "?([^"]+)"?$/, (seg) => {
|
|
27
|
+
var _a;
|
|
28
|
+
const segments = (_a = world_1.getWorld().state.current.rules.userSegmentation) !== null && _a !== void 0 ? _a : [];
|
|
29
|
+
if (!segments.includes(seg)) {
|
|
30
|
+
segments.push(seg);
|
|
31
|
+
}
|
|
29
32
|
world_1.getWorld().setState({
|
|
30
33
|
current: {
|
|
31
34
|
rules: {
|
|
@@ -36,7 +39,9 @@ const userSteps = ({ given }) => {
|
|
|
36
39
|
});
|
|
37
40
|
given(/^the (?:referred )?user belongs to segment "?([^"]+)"?$/, (segment) => {
|
|
38
41
|
const segments = world_1.getWorld().state.current.user.segments || [];
|
|
39
|
-
segments.
|
|
42
|
+
if (!segments.includes(segment)) {
|
|
43
|
+
segments.push(segment);
|
|
44
|
+
}
|
|
40
45
|
world_1.getWorld().setState({
|
|
41
46
|
current: {
|
|
42
47
|
user: {
|
package/dist/steps/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/steps/user.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/steps/user.ts"],"names":[],"mappings":"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"}
|
package/dist/world.d.ts
CHANGED
|
@@ -16,15 +16,16 @@ interface State {
|
|
|
16
16
|
}>;
|
|
17
17
|
}
|
|
18
18
|
export declare class World {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
private program;
|
|
20
|
+
private defaultIntrospection;
|
|
21
|
+
private defaultRules;
|
|
22
|
+
private defaultTemplate;
|
|
23
23
|
state: Readonly<State>;
|
|
24
24
|
constructor();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
loadDefaults(schemaFile: string, templateFile: string, rulesFile: string): void;
|
|
26
|
+
setProgram(program: types.rpc.Program): void;
|
|
27
|
+
getProgram(): types.rpc.Program;
|
|
28
|
+
getDefaultTemplate(): any;
|
|
28
29
|
setState(newState: Partial<State>): this;
|
|
29
30
|
reset(): Readonly<State>;
|
|
30
31
|
}
|
package/dist/world.js
CHANGED
|
@@ -4,27 +4,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getWorld = exports.World = void 0;
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
7
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
9
|
const faker_1 = require("./faker");
|
|
10
|
+
const deepCopy = (input) => JSON.parse(JSON.stringify(input));
|
|
10
11
|
class World {
|
|
11
12
|
constructor() {
|
|
13
|
+
this.defaultIntrospection = {};
|
|
14
|
+
this.defaultRules = {};
|
|
15
|
+
this.defaultTemplate = {};
|
|
12
16
|
this.state = this.reset();
|
|
13
17
|
}
|
|
14
|
-
|
|
18
|
+
loadDefaults(schemaFile, templateFile, rulesFile) {
|
|
15
19
|
this.defaultIntrospection = JSON.parse(fs_1.readFileSync(templateFile).toString());
|
|
16
20
|
const schema = JSON.parse(fs_1.readFileSync(schemaFile).toString());
|
|
17
21
|
this.defaultRules = JSON.parse(fs_1.readFileSync(rulesFile).toString());
|
|
18
22
|
this.defaultTemplate = deepmerge_1.default(this.defaultIntrospection, schema);
|
|
19
23
|
}
|
|
20
|
-
|
|
24
|
+
setProgram(program) {
|
|
21
25
|
this.program = program;
|
|
22
26
|
}
|
|
23
|
-
|
|
27
|
+
getProgram() {
|
|
24
28
|
if (!this.program)
|
|
25
29
|
throw new Error("The program has to be set");
|
|
26
30
|
return this.program;
|
|
27
31
|
}
|
|
32
|
+
getDefaultTemplate() {
|
|
33
|
+
return this.defaultTemplate;
|
|
34
|
+
}
|
|
28
35
|
setState(newState) {
|
|
29
36
|
this.state = deepmerge_1.default(this.state, newState, { arrayMerge: (_, a) => a });
|
|
30
37
|
return this;
|
|
@@ -39,21 +46,19 @@ class World {
|
|
|
39
46
|
referral: {},
|
|
40
47
|
programRewards: [],
|
|
41
48
|
user: faker_1.getRandomUser("REFERRED"),
|
|
42
|
-
rules:
|
|
43
|
-
template:
|
|
49
|
+
rules: deepCopy(this.defaultRules),
|
|
50
|
+
template: deepCopy(this.defaultTemplate),
|
|
44
51
|
},
|
|
45
52
|
};
|
|
46
53
|
return this.state;
|
|
47
54
|
}
|
|
48
55
|
}
|
|
49
56
|
exports.World = World;
|
|
50
|
-
World.defaultIntrospection = "{}";
|
|
51
|
-
World.defaultRules = "{}";
|
|
52
|
-
World.defaultTemplate = {};
|
|
53
57
|
let world;
|
|
54
58
|
function getWorld() {
|
|
55
|
-
if (
|
|
59
|
+
if (world === undefined) {
|
|
56
60
|
world = new World();
|
|
61
|
+
}
|
|
57
62
|
return world;
|
|
58
63
|
}
|
|
59
64
|
exports.getWorld = getWorld;
|
package/dist/world.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":";;;;;;AACA,0DAAkC;AAClC,2BAAkC;AAClC,mCAAwC;AAmBxC,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnE,MAAa,KAAK;IAQhB;QANQ,yBAAoB,GAAG,EAAE,CAAC;QAC1B,iBAAY,GAAG,EAAE,CAAC;QAClB,oBAAe,GAAQ,EAAE,CAAC;QAKhC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,YAAoB,EAAE,SAAiB;QACtE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACpC,iBAAY,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CACtC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,mBAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,UAAU,CAAC,OAA0B;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,QAAwB;QAC/B,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG;YACX,oBAAoB,EAAE,EAAE;YACxB,cAAc,EAAE,EAAE;YAClB,gBAAgB,EAAE,EAAE;YACpB,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,EAAE;gBAClB,IAAI,EAAE,qBAAa,CAAC,UAAU,CAAC;gBAC/B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;aACzC;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAxDD,sBAwDC;AAED,IAAI,KAAwB,CAAC;AAE7B,SAAgB,QAAQ;IACtB,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;KACrB;IAED,OAAO,KAAc,CAAC;AACxB,CAAC;AAND,4BAMC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saasquatch/program-test-suite",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "A collection of utilities for creating program unit tests",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
7
|
+
"dev": "tsc -w",
|
|
7
8
|
"build": "tsc"
|
|
8
9
|
},
|
|
9
10
|
"files": [
|
|
@@ -18,10 +19,13 @@
|
|
|
18
19
|
"glob": "^7.1.6",
|
|
19
20
|
"jest": "^26.6.3",
|
|
20
21
|
"jest-cucumber": "^3.0.0",
|
|
21
|
-
"ts-jest": "^26.5.0"
|
|
22
|
-
|
|
22
|
+
"ts-jest": "^26.5.0"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@saasquatch/program-boilerplate": ">=3.5.6"
|
|
23
26
|
},
|
|
24
27
|
"devDependencies": {
|
|
28
|
+
"@saasquatch/program-boilerplate": "^3.5.7-0",
|
|
25
29
|
"@types/dlv": "^1.1.2",
|
|
26
30
|
"@types/express": "^4.17.11",
|
|
27
31
|
"@types/faker": "^5.1.6",
|