@sprucelabs/spruce-cli 28.2.0 → 28.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 +8 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +7 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +116 -14
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js +3 -3
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/support/EventFaker.d.ts +2 -0
- package/build/__tests__/support/EventFaker.js +7 -0
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.js +10 -1
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +185 -52
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
- package/src/__tests__/behavioral/tests/TestingDataStores.test.ts +11 -3
- package/src/__tests__/support/EventFaker.ts +10 -0
- package/src/features/permission/writers/PermissionWriter.ts +11 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [28.2.1](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v28.2.0...v28.2.1) (2025-10-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [28.2.0](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v28.1.4...v28.2.0) (2025-10-06)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -3,6 +3,7 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
3
3
|
private static syncAction;
|
|
4
4
|
private static contractId1;
|
|
5
5
|
private static contractId2;
|
|
6
|
+
private static heartwoodSkill;
|
|
6
7
|
protected static beforeAll(): Promise<void>;
|
|
7
8
|
protected static beforeEach(): Promise<void>;
|
|
8
9
|
protected static generatesExpectedTypesFile(): Promise<void>;
|
|
@@ -13,6 +14,12 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
13
14
|
protected static combinedFileImportsAllPermissions(): Promise<void>;
|
|
14
15
|
protected static canSyncCorePermissions(): Promise<void>;
|
|
15
16
|
protected static syncingEventsSyncsPermissions(): Promise<void>;
|
|
17
|
+
protected static permsSentInAlphabeticalOrder(): Promise<void>;
|
|
18
|
+
private static fakeHeartwoodPermContracts;
|
|
19
|
+
private static import;
|
|
20
|
+
private static addHeartwoodAsDependency;
|
|
21
|
+
private static readTypesFile;
|
|
22
|
+
private static getTypesPath;
|
|
16
23
|
private static getCombinedPath;
|
|
17
24
|
private static beginTrackingExecute;
|
|
18
25
|
private static sync;
|
|
@@ -17,15 +17,20 @@ const SyncAction_1 = __importDefault(require("../../../features/permission/actio
|
|
|
17
17
|
const test_utility_1 = __importDefault(require("../../../tests/utilities/test.utility"));
|
|
18
18
|
const AbstractPermissionsTest_1 = __importDefault(require("./support/AbstractPermissionsTest"));
|
|
19
19
|
const generateShortAlphaId_1 = __importDefault(require("./support/generateShortAlphaId"));
|
|
20
|
-
const sortPermissionContracts_1 = require("./support/sortPermissionContracts");
|
|
21
20
|
class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
22
21
|
static syncAction;
|
|
23
22
|
static contractId1;
|
|
24
23
|
static contractId2;
|
|
24
|
+
static heartwoodSkill = {
|
|
25
|
+
id: (0, test_utils_1.generateId)(),
|
|
26
|
+
slug: 'heartwood',
|
|
27
|
+
dateCreated: 0,
|
|
28
|
+
name: 'Heartwood',
|
|
29
|
+
};
|
|
25
30
|
static async beforeAll() {
|
|
26
31
|
await super.beforeAll();
|
|
27
|
-
this.contractId1 = (0, generateShortAlphaId_1.default)();
|
|
28
|
-
this.contractId2 = (0, generateShortAlphaId_1.default)();
|
|
32
|
+
this.contractId1 = 'b-should-be-second' + (0, generateShortAlphaId_1.default)();
|
|
33
|
+
this.contractId2 = 'a-should-be-first' + (0, generateShortAlphaId_1.default)();
|
|
29
34
|
}
|
|
30
35
|
static async beforeEach() {
|
|
31
36
|
await super.beforeEach();
|
|
@@ -33,10 +38,13 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
33
38
|
mercury_client_1.MercuryClientFactory.setIsTestMode(true);
|
|
34
39
|
ExecuteTrackingAction.wasExecuteInvoked = false;
|
|
35
40
|
await this.eventFaker.fakeListPermissionContracts();
|
|
41
|
+
await this.eventFaker.fakeListSkills(() => {
|
|
42
|
+
return [this.heartwoodSkill];
|
|
43
|
+
});
|
|
36
44
|
}
|
|
37
45
|
static async generatesExpectedTypesFile() {
|
|
38
46
|
const results = await this.sync();
|
|
39
|
-
const expected = this.
|
|
47
|
+
const expected = this.getTypesPath();
|
|
40
48
|
test_utility_1.default.assertFileByPathInGeneratedFiles(expected, results.files);
|
|
41
49
|
}
|
|
42
50
|
static async syncsNewPermissionsWhenMade() {
|
|
@@ -59,11 +67,11 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
59
67
|
}
|
|
60
68
|
static async combinedFileImportsAllPermissions() {
|
|
61
69
|
await this.createPermissionContract(this.contractId2);
|
|
62
|
-
const imported = await this.
|
|
63
|
-
test_utils_1.assert.isEqualDeep(imported
|
|
70
|
+
const imported = await this.import();
|
|
71
|
+
test_utils_1.assert.isEqualDeep(imported, [
|
|
64
72
|
{
|
|
65
|
-
id: this.
|
|
66
|
-
name: this.
|
|
73
|
+
id: this.contractId2,
|
|
74
|
+
name: this.contractId2,
|
|
67
75
|
description: '',
|
|
68
76
|
requireAllPermissions: false,
|
|
69
77
|
permissions: [
|
|
@@ -77,8 +85,8 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
77
85
|
],
|
|
78
86
|
},
|
|
79
87
|
{
|
|
80
|
-
id: this.
|
|
81
|
-
name: this.
|
|
88
|
+
id: this.contractId1,
|
|
89
|
+
name: this.contractId1,
|
|
82
90
|
description: '',
|
|
83
91
|
requireAllPermissions: false,
|
|
84
92
|
permissions: [
|
|
@@ -91,7 +99,7 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
91
99
|
},
|
|
92
100
|
],
|
|
93
101
|
},
|
|
94
|
-
]
|
|
102
|
+
]);
|
|
95
103
|
}
|
|
96
104
|
static async canSyncCorePermissions() {
|
|
97
105
|
let wasHit = false;
|
|
@@ -101,8 +109,8 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
101
109
|
wasHit = true;
|
|
102
110
|
});
|
|
103
111
|
await this.sync({ shouldSyncCorePermissions: true });
|
|
104
|
-
test_utils_1.assert.isTrue(wasHit);
|
|
105
|
-
test_utils_1.assert.isUndefined(passedTarget);
|
|
112
|
+
test_utils_1.assert.isTrue(wasHit, 'Did not emit list-permission-contracts event');
|
|
113
|
+
test_utils_1.assert.isUndefined(passedTarget, 'Should not have passed a target to list-permission-contracts');
|
|
106
114
|
}
|
|
107
115
|
static async syncingEventsSyncsPermissions() {
|
|
108
116
|
this.beginTrackingExecute();
|
|
@@ -113,6 +121,95 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
113
121
|
});
|
|
114
122
|
test_utils_1.assert.isTrue(ExecuteTrackingAction.wasExecuteInvoked);
|
|
115
123
|
}
|
|
124
|
+
static async permsSentInAlphabeticalOrder() {
|
|
125
|
+
await this.addHeartwoodAsDependency();
|
|
126
|
+
await this.fakeHeartwoodPermContracts();
|
|
127
|
+
await this.sync();
|
|
128
|
+
const contents = this.readTypesFile();
|
|
129
|
+
const firstId = contents.indexOf('perk-a-should-be-first');
|
|
130
|
+
const secondId = contents.indexOf('perk-should-be-second');
|
|
131
|
+
const thirdId = contents.indexOf('perl-a-should-be-first');
|
|
132
|
+
const fourthId = contents.indexOf('perl-should-be-second');
|
|
133
|
+
const fifthId = contents.indexOf('perm-a-should-be-first');
|
|
134
|
+
const sixthId = contents.indexOf('perm-should-be-second');
|
|
135
|
+
test_utils_1.assert.isTrue(firstId < secondId, 'Permissions are not in alphabetical order');
|
|
136
|
+
test_utils_1.assert.isTrue(secondId < thirdId, 'Permissions are not in alphabetical order');
|
|
137
|
+
test_utils_1.assert.isTrue(thirdId < fourthId, 'Permissions are not in alphabetical order');
|
|
138
|
+
test_utils_1.assert.isTrue(fourthId < fifthId, 'Permissions are not in alphabetical order');
|
|
139
|
+
test_utils_1.assert.isTrue(fifthId < sixthId, 'Permissions are not in alphabetical order');
|
|
140
|
+
}
|
|
141
|
+
static async fakeHeartwoodPermContracts() {
|
|
142
|
+
await this.eventFaker.fakeListPermissionContracts(() => {
|
|
143
|
+
return [
|
|
144
|
+
{
|
|
145
|
+
id: 'ab-' + (0, generateShortAlphaId_1.default)(),
|
|
146
|
+
contract: {
|
|
147
|
+
id: 'ab-' + (0, generateShortAlphaId_1.default)(),
|
|
148
|
+
name: (0, test_utils_1.generateId)(),
|
|
149
|
+
permissions: [
|
|
150
|
+
{
|
|
151
|
+
id: 'perl-should-be-second',
|
|
152
|
+
name: 'Should be second',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
id: 'perl-a-should-be-first',
|
|
156
|
+
name: 'Should be first',
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
id: 'ba-' + (0, generateShortAlphaId_1.default)(),
|
|
163
|
+
contract: {
|
|
164
|
+
id: 'ba-' + (0, generateShortAlphaId_1.default)(),
|
|
165
|
+
name: (0, test_utils_1.generateId)(),
|
|
166
|
+
permissions: [
|
|
167
|
+
{
|
|
168
|
+
id: 'perm-should-be-second',
|
|
169
|
+
name: 'Should be second',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
id: 'perm-a-should-be-first',
|
|
173
|
+
name: 'Should be first',
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: 'aa-' + (0, generateShortAlphaId_1.default)(),
|
|
180
|
+
contract: {
|
|
181
|
+
id: 'aa-' + (0, generateShortAlphaId_1.default)(),
|
|
182
|
+
name: (0, test_utils_1.generateId)(),
|
|
183
|
+
permissions: [
|
|
184
|
+
{
|
|
185
|
+
id: 'perk-should-be-second',
|
|
186
|
+
name: 'Should be second',
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: 'perk-a-should-be-first',
|
|
190
|
+
name: 'Should be first',
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
];
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
static async import() {
|
|
199
|
+
return await this.Service('import').importDefault(this.getCombinedPath());
|
|
200
|
+
}
|
|
201
|
+
static async addHeartwoodAsDependency() {
|
|
202
|
+
const results = await this.Action('dependency', 'add').execute({
|
|
203
|
+
namespace: 'heartwood',
|
|
204
|
+
});
|
|
205
|
+
test_utils_1.assert.isFalsy(results.errors, 'Should not have errored');
|
|
206
|
+
}
|
|
207
|
+
static readTypesFile() {
|
|
208
|
+
return spruce_skill_utils_1.diskUtil.readFile(this.getTypesPath());
|
|
209
|
+
}
|
|
210
|
+
static getTypesPath() {
|
|
211
|
+
return this.resolveHashSprucePath(`permissions/permissions.types.ts`);
|
|
212
|
+
}
|
|
116
213
|
static getCombinedPath() {
|
|
117
214
|
return this.resolveHashSprucePath('permissions', 'permissions.ts');
|
|
118
215
|
}
|
|
@@ -120,7 +217,9 @@ class SyncingPermissionsTest extends AbstractPermissionsTest_1.default {
|
|
|
120
217
|
ActionFactory_1.default.setActionClass('permission', 'sync', ExecuteTrackingAction);
|
|
121
218
|
}
|
|
122
219
|
static async sync(options) {
|
|
123
|
-
|
|
220
|
+
const results = await this.syncAction.execute(options);
|
|
221
|
+
test_utils_1.assert.isFalsy(results.errors, 'Should not have errored when syncing permissions');
|
|
222
|
+
return results;
|
|
124
223
|
}
|
|
125
224
|
static async emitDidExecuteUpgrade() {
|
|
126
225
|
await this.emitter.emitAndFlattenResponses('feature.did-execute', {
|
|
@@ -155,6 +254,9 @@ __decorate([
|
|
|
155
254
|
__decorate([
|
|
156
255
|
(0, test_utils_1.test)()
|
|
157
256
|
], SyncingPermissionsTest, "syncingEventsSyncsPermissions", null);
|
|
257
|
+
__decorate([
|
|
258
|
+
(0, test_utils_1.test)()
|
|
259
|
+
], SyncingPermissionsTest, "permsSentInAlphabeticalOrder", null);
|
|
158
260
|
class ExecuteTrackingAction extends SyncAction_1.default {
|
|
159
261
|
static wasExecuteInvoked = false;
|
|
160
262
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncingPermissions.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAiE;AACjE,uEAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"SyncingPermissions.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ class CreatingBehavioralTestsTest extends AbstractTestTest_1.default {
|
|
|
33
33
|
const match = await this.createTestAndGetFile(testName);
|
|
34
34
|
test_utils_1.assert.doesInclude(match, 'behavioral');
|
|
35
35
|
await this.Service('build').build();
|
|
36
|
-
await test_utils_1.assert.doesThrowAsync(() => this.Service('command').execute('yarn test'), /false
|
|
36
|
+
await test_utils_1.assert.doesThrowAsync(() => this.Service('command').execute('yarn test'), /Expected:.*?false/gis);
|
|
37
37
|
}
|
|
38
38
|
static async promptsToSelectFolderIfInsideTestDir(testType) {
|
|
39
39
|
await this.installTests();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatingATest.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uEAAyD;AACzD,uDAAqD;AACrD,gFAAuD;AACvD,uFAA8D;AAC9D,yFAA4D;AAC5D,iGAAgE;AAEhE,MAAqB,2BAA4B,SAAQ,0BAAgB;IAE9C,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,mBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5D,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,0BAA0B,EAAE,CAAA;QAEjE,mBAAM,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3B,KAAK,EAAE,sCAAsC;YAC7C,IAAI,EAAE,mBAAmB;SAC5B,CAAC,CAAA;IACN,CAAC;IAUsB,AAAb,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC3D,qBAAW,CAAC,aAAa,EAAE,CAAA;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEvD,mBAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAEvC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QAEnC,MAAM,mBAAM,CAAC,cAAc,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAClD,
|
|
1
|
+
{"version":3,"file":"CreatingATest.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,7 +128,7 @@ class SelectingAnAbstractTestClassTest extends AbstractTestTest_1.default {
|
|
|
128
128
|
}
|
|
129
129
|
static async buildAndAssertTestFailsAsExpected() {
|
|
130
130
|
await this.Service('build').build();
|
|
131
|
-
await test_utils_1.assert.doesThrowAsync(() => this.Service('command').execute('yarn test'), /false
|
|
131
|
+
await test_utils_1.assert.doesThrowAsync(() => this.Service('command').execute('yarn test'), /Expected: false/gis);
|
|
132
132
|
}
|
|
133
133
|
static async installCopyTestFilesSelectLocalAbstractTest() {
|
|
134
134
|
await this.installAndCopyTestFiles();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectingAnAbstractTestClass.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SelectingAnAbstractTestClass.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,10 +58,10 @@ class TestingDataStoresTest extends AbstractSkillTest_1.default {
|
|
|
58
58
|
const testResults = await this.Action('test', 'test').execute({
|
|
59
59
|
shouldReportWhileRunning: false,
|
|
60
60
|
});
|
|
61
|
-
test_utils_1.assert.isArray(testResults.errors);
|
|
62
|
-
test_utils_1.assert.isLength(testResults.errors, 1);
|
|
61
|
+
test_utils_1.assert.isArray(testResults.errors, 'should have returned errors');
|
|
62
|
+
test_utils_1.assert.isLength(testResults.errors, 1, 'should have only returned 1 error');
|
|
63
63
|
const first = testResults.errors[0];
|
|
64
|
-
test_utils_1.assert.doesInclude(first.message, '
|
|
64
|
+
test_utils_1.assert.doesInclude(first.message, 'Expected:', 'should have failed the test');
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.default = TestingDataStoresTest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestingDataStores.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/TestingDataStores.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uEAAyD;AACzD,uDAAqD;AACrD,gFAAuD;AACvD,yFAAgE;AAChE,yFAA4D;AAE5D,MAAqB,qBAAsB,SAAQ,2BAAiB;IACtD,MAAM,CAAC,aAAa,GAAG,iBAAiB,CAAA;IAG3B,AAAb,MAAM,CAAC,KAAK,CAAC,iDAAiD;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEjD,YAAY,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,KAAK,CAAA;QAE5C,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvC,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,sBAAsB;YACpC,SAAS,EAAE,oBAAoB;YAC/B,UAAU,EAAE,oBAAoB;SACnC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAA;QACxC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7C,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC7C,KAAK,EAAE,sCAAsC;SAChD,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,qBAAW,CAAC,aAAa,EAAE,CAAA;QAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAA;QAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,sBAAsB;YACpC,SAAS,EAAE,oBAAoB;YAC/B,UAAU,EAAE,oBAAoB;SACnC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAA;QACxC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7C,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC7C,KAAK,EAAE,mBAAmB;SAC7B,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAA;QAExD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAA;QAE7B,mBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE9B,MAAM,KAAK,GAAG,sBAAQ,CAAC,gCAAgC,CACnD,4BAA4B,EAC5B,OAAO,CAAC,KAAK,CAChB,CAAA;QAED,MAAM,QAAQ,GAAG,6BAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEzC,mBAAM,CAAC,WAAW,CACd,QAAQ,EACR,kDAAkD,CACrD,CAAA;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QAEnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC;YAC1D,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAA;QAEF,mBAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"TestingDataStores.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/tests/TestingDataStores.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { SpruceSchemas } from '@sprucelabs/mercury-types';
|
|
2
2
|
import { ListPermContractsTargetAndPayload } from '../../features/permission/stores/PermissionStore';
|
|
3
3
|
export default class EventFaker {
|
|
4
|
+
fakeListSkills(cb?: () => void | ListSkill[]): Promise<void>;
|
|
4
5
|
fakeListPermissionContracts(cb?: (targetAndPayload: ListPermContractsTargetAndPayload) => void | SpruceSchemas.Mercury.v2020_12_25.ListPermissionContractsResponsePayload['permissionContracts']): Promise<void>;
|
|
5
6
|
fakeRequestPin(): Promise<void>;
|
|
6
7
|
fakeConfirmPin(): Promise<void>;
|
|
7
8
|
}
|
|
9
|
+
export type ListSkill = SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkill;
|
|
@@ -3,6 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const spruce_test_fixtures_1 = require("@sprucelabs/spruce-test-fixtures");
|
|
4
4
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
5
5
|
class EventFaker {
|
|
6
|
+
async fakeListSkills(cb) {
|
|
7
|
+
await spruce_test_fixtures_1.eventFaker.on('list-skills::v2020_12_25', () => {
|
|
8
|
+
return {
|
|
9
|
+
skills: cb?.() ?? [],
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
}
|
|
6
13
|
async fakeListPermissionContracts(cb) {
|
|
7
14
|
await spruce_test_fixtures_1.eventFaker.on('list-permission-contracts::v2020_12_25', (targetAndPayload) => {
|
|
8
15
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventFaker.js","sourceRoot":"","sources":["../../../src/__tests__/support/EventFaker.ts"],"names":[],"mappings":";;AACA,2EAA6D;AAC7D,uDAAmD;AAGnD,MAAqB,UAAU;IACpB,KAAK,CAAC,2BAA2B,CACpC,EAIqG;QAErG,MAAM,iCAAU,CAAC,EAAE,CACf,wCAAwC,EACxC,CAAC,gBAAgB,EAAE,EAAE;YACjB,OAAO;gBACH,mBAAmB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;aACpD,CAAA;QACL,CAAC,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,iCAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACjD,OAAO;gBACH,SAAS,EAAE,IAAA,uBAAU,GAAE;aAC1B,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,iCAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACjD,OAAO;gBACH,KAAK,EAAE,IAAA,uBAAU,GAAE;gBACnB,MAAM,EAAE;oBACJ,EAAE,EAAE,IAAA,uBAAU,GAAE;oBAChB,UAAU,EAAE,IAAA,uBAAU,GAAE;oBACxB,WAAW,EAAE,CAAC;iBACjB;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"EventFaker.js","sourceRoot":"","sources":["../../../src/__tests__/support/EventFaker.ts"],"names":[],"mappings":";;AACA,2EAA6D;AAC7D,uDAAmD;AAGnD,MAAqB,UAAU;IACpB,KAAK,CAAC,cAAc,CAAC,EAA6B;QACrD,MAAM,iCAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACjD,OAAO;gBACH,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACvB,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACpC,EAIqG;QAErG,MAAM,iCAAU,CAAC,EAAE,CACf,wCAAwC,EACxC,CAAC,gBAAgB,EAAE,EAAE;YACjB,OAAO;gBACH,mBAAmB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;aACpD,CAAA;QACL,CAAC,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,iCAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACjD,OAAO;gBACH,SAAS,EAAE,IAAA,uBAAU,GAAE;aAC1B,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,iCAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACjD,OAAO;gBACH,KAAK,EAAE,IAAA,uBAAU,GAAE;gBACnB,MAAM,EAAE;oBACJ,EAAE,EAAE,IAAA,uBAAU,GAAE;oBAChB,UAAU,EAAE,IAAA,uBAAU,GAAE;oBACxB,WAAW,EAAE,CAAC;iBACjB;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA9CD,6BA8CC"}
|
|
@@ -8,7 +8,16 @@ const AbstractWriter_1 = __importDefault(require("../../../writers/AbstractWrite
|
|
|
8
8
|
class PermissionWriter extends AbstractWriter_1.default {
|
|
9
9
|
async writeTypesFile(cwd, map) {
|
|
10
10
|
const destination = spruce_skill_utils_1.diskUtil.resolveHashSprucePath(cwd, 'permissions', 'permissions.types.ts');
|
|
11
|
-
const
|
|
11
|
+
const keys = Object.keys(map);
|
|
12
|
+
keys.sort();
|
|
13
|
+
const sorted = {};
|
|
14
|
+
for (const key of keys) {
|
|
15
|
+
map[key].sort((a, b) => a.localeCompare(b));
|
|
16
|
+
sorted[key] = map[key];
|
|
17
|
+
}
|
|
18
|
+
const contents = this.templates.permissionTypes({
|
|
19
|
+
contracts: sorted,
|
|
20
|
+
});
|
|
12
21
|
const files = await this.writeFileIfChangedMixinResults(destination, contents, 'Types file for any permission contracts you created or depend on.');
|
|
13
22
|
return files;
|
|
14
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionWriter.js","sourceRoot":"","sources":["../../../../src/features/permission/writers/PermissionWriter.ts"],"names":[],"mappings":";;;;;AACA,uEAAoE;AACpE,qFAA4D;AAG5D,MAAqB,gBAAiB,SAAQ,wBAAc;IACjD,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,GAA0B;QAC/D,MAAM,WAAW,GAAG,6BAAQ,CAAC,qBAAqB,CAC9C,GAAG,EACH,aAAa,EACb,sBAAsB,CACzB,CAAA;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"PermissionWriter.js","sourceRoot":"","sources":["../../../../src/features/permission/writers/PermissionWriter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "28.2.
|
|
7
|
+
"version": "28.2.1",
|
|
8
8
|
"skill": {
|
|
9
9
|
"namespace": "spruce-cli",
|
|
10
10
|
"upgradeIgnoreList": [
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"@sprucelabs/spruce-core-schemas": "^41.3.7",
|
|
86
86
|
"@sprucelabs/spruce-event-utils": "^41.0.126",
|
|
87
87
|
"@sprucelabs/spruce-skill-utils": "^32.0.116",
|
|
88
|
-
"@sprucelabs/spruce-templates": "^28.2.
|
|
88
|
+
"@sprucelabs/spruce-templates": "^28.2.1",
|
|
89
89
|
"@typescript-eslint/eslint-plugin": "^8.45.0",
|
|
90
90
|
"@typescript-eslint/parser": "^8.45.0",
|
|
91
91
|
"cfonts": "^3.3.1",
|
|
@@ -570,5 +570,5 @@
|
|
|
570
570
|
"conventional-changelog-sprucelabs"
|
|
571
571
|
]
|
|
572
572
|
},
|
|
573
|
-
"gitHead": "
|
|
573
|
+
"gitHead": "115e161f24f1c68f5ac121b2255d05ece86223ea"
|
|
574
574
|
}
|
|
@@ -1,43 +1,51 @@
|
|
|
1
1
|
import { MercuryClientFactory } from '@sprucelabs/mercury-client'
|
|
2
2
|
import { diskUtil } from '@sprucelabs/spruce-skill-utils'
|
|
3
|
-
import { assert, test } from '@sprucelabs/test-utils'
|
|
3
|
+
import { assert, generateId, test } from '@sprucelabs/test-utils'
|
|
4
4
|
import ActionFactory from '../../../features/ActionFactory'
|
|
5
5
|
import SyncAction, {
|
|
6
6
|
SyncPermissionsOptions,
|
|
7
7
|
} from '../../../features/permission/actions/SyncAction'
|
|
8
8
|
import { ListPermContractsTargetAndPayload } from '../../../features/permission/stores/PermissionStore'
|
|
9
9
|
import testUtil from '../../../tests/utilities/test.utility'
|
|
10
|
+
import { ListSkill } from '../../support/EventFaker'
|
|
10
11
|
import AbstractPermissionsTest from './support/AbstractPermissionsTest'
|
|
11
12
|
import generateShortAlphaId from './support/generateShortAlphaId'
|
|
12
|
-
import { sortPermissionContracts } from './support/sortPermissionContracts'
|
|
13
13
|
|
|
14
14
|
export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
15
15
|
private static syncAction: SyncAction
|
|
16
16
|
private static contractId1: string
|
|
17
17
|
private static contractId2: string
|
|
18
|
+
private static heartwoodSkill: ListSkill = {
|
|
19
|
+
id: generateId(),
|
|
20
|
+
slug: 'heartwood',
|
|
21
|
+
dateCreated: 0,
|
|
22
|
+
name: 'Heartwood',
|
|
23
|
+
}
|
|
18
24
|
|
|
19
25
|
protected static async beforeAll() {
|
|
20
26
|
await super.beforeAll()
|
|
21
|
-
this.contractId1 = generateShortAlphaId()
|
|
22
|
-
this.contractId2 = generateShortAlphaId()
|
|
27
|
+
this.contractId1 = 'b-should-be-second' + generateShortAlphaId()
|
|
28
|
+
this.contractId2 = 'a-should-be-first' + generateShortAlphaId()
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
protected static async beforeEach() {
|
|
26
32
|
await super.beforeEach()
|
|
33
|
+
|
|
27
34
|
this.syncAction = this.Action('permission', 'sync')
|
|
35
|
+
|
|
28
36
|
MercuryClientFactory.setIsTestMode(true)
|
|
29
37
|
ExecuteTrackingAction.wasExecuteInvoked = false
|
|
30
38
|
await this.eventFaker.fakeListPermissionContracts()
|
|
39
|
+
|
|
40
|
+
await this.eventFaker.fakeListSkills(() => {
|
|
41
|
+
return [this.heartwoodSkill]
|
|
42
|
+
})
|
|
31
43
|
}
|
|
32
44
|
|
|
33
45
|
@test()
|
|
34
46
|
protected static async generatesExpectedTypesFile() {
|
|
35
47
|
const results = await this.sync()
|
|
36
|
-
|
|
37
|
-
const expected = this.resolveHashSprucePath(
|
|
38
|
-
`permissions/permissions.types.ts`
|
|
39
|
-
)
|
|
40
|
-
|
|
48
|
+
const expected = this.getTypesPath()
|
|
41
49
|
testUtil.assertFileByPathInGeneratedFiles(expected, results.files)
|
|
42
50
|
}
|
|
43
51
|
|
|
@@ -74,47 +82,42 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
74
82
|
protected static async combinedFileImportsAllPermissions() {
|
|
75
83
|
await this.createPermissionContract(this.contractId2)
|
|
76
84
|
|
|
77
|
-
const imported = await this.
|
|
78
|
-
this.getCombinedPath()
|
|
79
|
-
)
|
|
85
|
+
const imported = await this.import()
|
|
80
86
|
|
|
81
|
-
assert.isEqualDeep(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
].sort(sortPermissionContracts)
|
|
117
|
-
)
|
|
87
|
+
assert.isEqualDeep(imported, [
|
|
88
|
+
{
|
|
89
|
+
id: this.contractId2,
|
|
90
|
+
name: this.contractId2,
|
|
91
|
+
description: '',
|
|
92
|
+
requireAllPermissions: false,
|
|
93
|
+
permissions: [
|
|
94
|
+
{
|
|
95
|
+
id: 'can-high-five',
|
|
96
|
+
name: 'Can give high five',
|
|
97
|
+
description:
|
|
98
|
+
'Will this person be allowed to high five?',
|
|
99
|
+
defaults: { skill: false },
|
|
100
|
+
requireAllStatuses: false,
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: this.contractId1,
|
|
106
|
+
name: this.contractId1,
|
|
107
|
+
description: '',
|
|
108
|
+
requireAllPermissions: false,
|
|
109
|
+
permissions: [
|
|
110
|
+
{
|
|
111
|
+
id: 'can-high-five',
|
|
112
|
+
name: 'Can give high five',
|
|
113
|
+
description:
|
|
114
|
+
'Will this person be allowed to high five?',
|
|
115
|
+
defaults: { skill: false },
|
|
116
|
+
requireAllStatuses: false,
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
])
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
@test()
|
|
@@ -130,8 +133,11 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
130
133
|
)
|
|
131
134
|
|
|
132
135
|
await this.sync({ shouldSyncCorePermissions: true })
|
|
133
|
-
assert.isTrue(wasHit)
|
|
134
|
-
assert.isUndefined(
|
|
136
|
+
assert.isTrue(wasHit, 'Did not emit list-permission-contracts event')
|
|
137
|
+
assert.isUndefined(
|
|
138
|
+
passedTarget,
|
|
139
|
+
'Should not have passed a target to list-permission-contracts'
|
|
140
|
+
)
|
|
135
141
|
}
|
|
136
142
|
|
|
137
143
|
@test()
|
|
@@ -145,6 +151,127 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
145
151
|
assert.isTrue(ExecuteTrackingAction.wasExecuteInvoked)
|
|
146
152
|
}
|
|
147
153
|
|
|
154
|
+
@test()
|
|
155
|
+
protected static async permsSentInAlphabeticalOrder() {
|
|
156
|
+
await this.addHeartwoodAsDependency()
|
|
157
|
+
await this.fakeHeartwoodPermContracts()
|
|
158
|
+
|
|
159
|
+
await this.sync()
|
|
160
|
+
const contents = this.readTypesFile()
|
|
161
|
+
|
|
162
|
+
const firstId = contents.indexOf('perk-a-should-be-first')
|
|
163
|
+
const secondId = contents.indexOf('perk-should-be-second')
|
|
164
|
+
const thirdId = contents.indexOf('perl-a-should-be-first')
|
|
165
|
+
const fourthId = contents.indexOf('perl-should-be-second')
|
|
166
|
+
const fifthId = contents.indexOf('perm-a-should-be-first')
|
|
167
|
+
const sixthId = contents.indexOf('perm-should-be-second')
|
|
168
|
+
|
|
169
|
+
assert.isTrue(
|
|
170
|
+
firstId < secondId,
|
|
171
|
+
'Permissions are not in alphabetical order'
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
assert.isTrue(
|
|
175
|
+
secondId < thirdId,
|
|
176
|
+
'Permissions are not in alphabetical order'
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
assert.isTrue(
|
|
180
|
+
thirdId < fourthId,
|
|
181
|
+
'Permissions are not in alphabetical order'
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
assert.isTrue(
|
|
185
|
+
fourthId < fifthId,
|
|
186
|
+
'Permissions are not in alphabetical order'
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
assert.isTrue(
|
|
190
|
+
fifthId < sixthId,
|
|
191
|
+
'Permissions are not in alphabetical order'
|
|
192
|
+
)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
private static async fakeHeartwoodPermContracts() {
|
|
196
|
+
await this.eventFaker.fakeListPermissionContracts(() => {
|
|
197
|
+
return [
|
|
198
|
+
{
|
|
199
|
+
id: 'ab-' + generateShortAlphaId(),
|
|
200
|
+
contract: {
|
|
201
|
+
id: 'ab-' + generateShortAlphaId(),
|
|
202
|
+
name: generateId(),
|
|
203
|
+
permissions: [
|
|
204
|
+
{
|
|
205
|
+
id: 'perl-should-be-second',
|
|
206
|
+
name: 'Should be second',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: 'perl-a-should-be-first',
|
|
210
|
+
name: 'Should be first',
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
id: 'ba-' + generateShortAlphaId(),
|
|
217
|
+
contract: {
|
|
218
|
+
id: 'ba-' + generateShortAlphaId(),
|
|
219
|
+
name: generateId(),
|
|
220
|
+
permissions: [
|
|
221
|
+
{
|
|
222
|
+
id: 'perm-should-be-second',
|
|
223
|
+
name: 'Should be second',
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
id: 'perm-a-should-be-first',
|
|
227
|
+
name: 'Should be first',
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
id: 'aa-' + generateShortAlphaId(),
|
|
234
|
+
contract: {
|
|
235
|
+
id: 'aa-' + generateShortAlphaId(),
|
|
236
|
+
name: generateId(),
|
|
237
|
+
permissions: [
|
|
238
|
+
{
|
|
239
|
+
id: 'perk-should-be-second',
|
|
240
|
+
name: 'Should be second',
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: 'perk-a-should-be-first',
|
|
244
|
+
name: 'Should be first',
|
|
245
|
+
},
|
|
246
|
+
],
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
]
|
|
250
|
+
})
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
private static async import() {
|
|
254
|
+
return await this.Service('import').importDefault(
|
|
255
|
+
this.getCombinedPath()
|
|
256
|
+
)
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
private static async addHeartwoodAsDependency() {
|
|
260
|
+
const results = await this.Action('dependency', 'add').execute({
|
|
261
|
+
namespace: 'heartwood',
|
|
262
|
+
})
|
|
263
|
+
|
|
264
|
+
assert.isFalsy(results.errors, 'Should not have errored')
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
private static readTypesFile() {
|
|
268
|
+
return diskUtil.readFile(this.getTypesPath())
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
private static getTypesPath() {
|
|
272
|
+
return this.resolveHashSprucePath(`permissions/permissions.types.ts`)
|
|
273
|
+
}
|
|
274
|
+
|
|
148
275
|
private static getCombinedPath() {
|
|
149
276
|
return this.resolveHashSprucePath('permissions', 'permissions.ts')
|
|
150
277
|
}
|
|
@@ -158,7 +285,13 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
158
285
|
}
|
|
159
286
|
|
|
160
287
|
private static async sync(options?: SyncPermissionsOptions) {
|
|
161
|
-
|
|
288
|
+
const results = await this.syncAction.execute(options)
|
|
289
|
+
assert.isFalsy(
|
|
290
|
+
results.errors,
|
|
291
|
+
'Should not have errored when syncing permissions'
|
|
292
|
+
)
|
|
293
|
+
|
|
294
|
+
return results
|
|
162
295
|
}
|
|
163
296
|
|
|
164
297
|
private static async emitDidExecuteUpgrade() {
|
|
@@ -204,7 +204,7 @@ export default class SelectingAnAbstractTestClassTest extends AbstractTestTest {
|
|
|
204
204
|
|
|
205
205
|
await assert.doesThrowAsync(
|
|
206
206
|
() => this.Service('command').execute('yarn test'),
|
|
207
|
-
/false
|
|
207
|
+
/Expected: false/gis
|
|
208
208
|
)
|
|
209
209
|
}
|
|
210
210
|
|
|
@@ -75,11 +75,19 @@ export default class TestingDataStoresTest extends AbstractSkillTest {
|
|
|
75
75
|
shouldReportWhileRunning: false,
|
|
76
76
|
})
|
|
77
77
|
|
|
78
|
-
assert.isArray(testResults.errors)
|
|
79
|
-
assert.isLength(
|
|
78
|
+
assert.isArray(testResults.errors, 'should have returned errors')
|
|
79
|
+
assert.isLength(
|
|
80
|
+
testResults.errors,
|
|
81
|
+
1,
|
|
82
|
+
'should have only returned 1 error'
|
|
83
|
+
)
|
|
80
84
|
|
|
81
85
|
const first = testResults.errors[0]
|
|
82
86
|
|
|
83
|
-
assert.doesInclude(
|
|
87
|
+
assert.doesInclude(
|
|
88
|
+
first.message,
|
|
89
|
+
'Expected:',
|
|
90
|
+
'should have failed the test'
|
|
91
|
+
)
|
|
84
92
|
}
|
|
85
93
|
}
|
|
@@ -4,6 +4,14 @@ import { generateId } from '@sprucelabs/test-utils'
|
|
|
4
4
|
import { ListPermContractsTargetAndPayload } from '../../features/permission/stores/PermissionStore'
|
|
5
5
|
|
|
6
6
|
export default class EventFaker {
|
|
7
|
+
public async fakeListSkills(cb?: () => void | ListSkill[]) {
|
|
8
|
+
await eventFaker.on('list-skills::v2020_12_25', () => {
|
|
9
|
+
return {
|
|
10
|
+
skills: cb?.() ?? [],
|
|
11
|
+
}
|
|
12
|
+
})
|
|
13
|
+
}
|
|
14
|
+
|
|
7
15
|
public async fakeListPermissionContracts(
|
|
8
16
|
cb?: (
|
|
9
17
|
targetAndPayload: ListPermContractsTargetAndPayload
|
|
@@ -42,3 +50,5 @@ export default class EventFaker {
|
|
|
42
50
|
})
|
|
43
51
|
}
|
|
44
52
|
}
|
|
53
|
+
|
|
54
|
+
export type ListSkill = SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkill
|
|
@@ -11,7 +11,17 @@ export default class PermissionWriter extends AbstractWriter {
|
|
|
11
11
|
'permissions.types.ts'
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const keys = Object.keys(map)
|
|
15
|
+
keys.sort()
|
|
16
|
+
const sorted: Partial<PermissionContractMap> = {}
|
|
17
|
+
for (const key of keys) {
|
|
18
|
+
map[key].sort((a, b) => a.localeCompare(b))
|
|
19
|
+
sorted[key] = map[key]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const contents = this.templates.permissionTypes({
|
|
23
|
+
contracts: sorted as PermissionContractMap,
|
|
24
|
+
})
|
|
15
25
|
|
|
16
26
|
const files = await this.writeFileIfChangedMixinResults(
|
|
17
27
|
destination,
|