@sprucelabs/spruce-test-fixtures 66.0.19 → 66.0.21

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.
Files changed (57) hide show
  1. package/build/FakerTracker.d.ts +41 -0
  2. package/build/FakerTracker.js +56 -0
  3. package/build/esm/FakerTracker.d.ts +41 -0
  4. package/build/esm/FakerTracker.js +54 -0
  5. package/build/esm/tests/AbstractSpruceFixtureTest.d.ts +68 -27
  6. package/build/esm/tests/AbstractSpruceFixtureTest.js +256 -103
  7. package/build/esm/tests/decorators/fake.d.ts +11 -11
  8. package/build/esm/tests/decorators/fake.js +151 -173
  9. package/build/esm/tests/decorators/install.js +7 -4
  10. package/build/esm/tests/decorators/login.js +18 -18
  11. package/build/esm/tests/decorators/seed.js +34 -40
  12. package/build/esm/tests/fixtures/FixtureFactory.d.ts +2 -1
  13. package/build/esm/tests/fixtures/FixtureFactory.js +38 -35
  14. package/build/esm/tests/fixtures/FixtureWarehourse.d.ts +56 -0
  15. package/build/esm/tests/fixtures/FixtureWarehourse.js +165 -0
  16. package/build/esm/tests/fixtures/LocationFixture.d.ts +5 -5
  17. package/build/esm/tests/fixtures/LocationFixture.js +5 -5
  18. package/build/esm/tests/fixtures/MercuryFixture.d.ts +5 -0
  19. package/build/esm/tests/fixtures/MercuryFixture.js +50 -25
  20. package/build/esm/tests/fixtures/OrganizationFixture.d.ts +4 -4
  21. package/build/esm/tests/fixtures/PersonFixture.d.ts +2 -2
  22. package/build/esm/tests/fixtures/PersonFixture.js +23 -9
  23. package/build/esm/tests/fixtures/RoleFixture.d.ts +4 -4
  24. package/build/esm/tests/fixtures/RoleFixture.js +4 -4
  25. package/build/esm/tests/fixtures/SeedFixture.d.ts +13 -13
  26. package/build/esm/tests/fixtures/SkillFixture.d.ts +2 -2
  27. package/build/esm/tests/fixtures/SkillFixture.js +2 -2
  28. package/build/esm/tests/fixtures/SpyScope.d.ts +2 -2
  29. package/build/esm/tests/fixtures/ViewFixture.d.ts +7 -3
  30. package/build/esm/tests/fixtures/ViewFixture.js +11 -9
  31. package/build/tests/AbstractSpruceFixtureTest.d.ts +68 -27
  32. package/build/tests/AbstractSpruceFixtureTest.js +243 -98
  33. package/build/tests/decorators/fake.d.ts +11 -11
  34. package/build/tests/decorators/fake.js +151 -171
  35. package/build/tests/decorators/install.js +9 -3
  36. package/build/tests/decorators/login.js +20 -17
  37. package/build/tests/decorators/seed.js +34 -38
  38. package/build/tests/fixtures/FixtureFactory.d.ts +2 -1
  39. package/build/tests/fixtures/FixtureFactory.js +37 -35
  40. package/build/tests/fixtures/FixtureWarehourse.d.ts +56 -0
  41. package/build/tests/fixtures/FixtureWarehourse.js +170 -0
  42. package/build/tests/fixtures/LocationFixture.d.ts +5 -5
  43. package/build/tests/fixtures/LocationFixture.js +5 -5
  44. package/build/tests/fixtures/MercuryFixture.d.ts +5 -0
  45. package/build/tests/fixtures/MercuryFixture.js +48 -23
  46. package/build/tests/fixtures/OrganizationFixture.d.ts +4 -4
  47. package/build/tests/fixtures/PersonFixture.d.ts +2 -2
  48. package/build/tests/fixtures/PersonFixture.js +20 -6
  49. package/build/tests/fixtures/RoleFixture.d.ts +4 -4
  50. package/build/tests/fixtures/RoleFixture.js +4 -4
  51. package/build/tests/fixtures/SeedFixture.d.ts +13 -13
  52. package/build/tests/fixtures/SkillFixture.d.ts +2 -2
  53. package/build/tests/fixtures/SkillFixture.js +2 -2
  54. package/build/tests/fixtures/SpyScope.d.ts +2 -2
  55. package/build/tests/fixtures/ViewFixture.d.ts +7 -3
  56. package/build/tests/fixtures/ViewFixture.js +13 -9
  57. package/package.json +25 -25
@@ -15,37 +15,10 @@ import SkillFixture from './fixtures/SkillFixture';
15
15
  import StoreFixture from './fixtures/StoreFixture';
16
16
  import ViewFixture from './fixtures/ViewFixture';
17
17
  export default abstract class AbstractSpruceFixtureTest extends AbstractSkillTest {
18
- static fakedPerson: Person;
19
- static fakedPeople: Person[];
20
- static fakedTeammates: Person[];
21
- static fakedOwners: Person[];
22
- static fakedRoles: Role[];
23
- static fakedSkills: ISkill[];
24
- static fakedManagers: Person[];
25
- static fakedGuests: Person[];
26
- static fakedGroupManagers: Person[];
27
- private static _fakedOrganizations;
28
- private static _fakedLocations;
29
- static cwd: string;
30
- static _fakedClient?: MercuryClient;
31
- private static _views?;
32
- private static _roles?;
33
- private static _locations?;
34
- private static _organizations?;
35
- private static _people?;
36
- private static _seeder?;
37
- private static _skills?;
38
- private static _mercury?;
39
- private static _stores?;
40
- private static _database?;
41
- private static _permissions?;
42
- private static _fixtures?;
43
18
  protected static beforeAll(): Promise<void>;
44
19
  protected static beforeEach(): Promise<void>;
45
- private static clearLocalFixtures;
46
20
  protected static afterEach(): Promise<void>;
47
21
  protected static afterAll(): Promise<void>;
48
- static Fixture<Name extends FixtureName>(name: Name, options?: Partial<FixtureConstructorOptionsMap[Name]>): import("../types/fixture.types").FixtureMap[Name];
49
22
  protected static bootAndRegisterNewSkill(options: SkillFactoryOptions & {
50
23
  name: string;
51
24
  slug?: string;
@@ -76,6 +49,25 @@ export default abstract class AbstractSpruceFixtureTest extends AbstractSkillTes
76
49
  executionPromise: Promise<void>;
77
50
  }>;
78
51
  protected static SkillFromTestDir(key: string, options?: SkillFactoryOptions | undefined): Promise<Skill>;
52
+ static Fixture<Name extends FixtureName>(name: Name, options?: Partial<FixtureConstructorOptionsMap[Name]>): import("../types/fixture.types").FixtureMap[Name];
53
+ static get fakedPerson(): Person;
54
+ static set fakedPerson(person: Person);
55
+ static get fakedPeople(): Person[];
56
+ static set fakedPeople(people: Person[]);
57
+ static get fakedTeammates(): Person[];
58
+ static set fakedTeammates(teammates: Person[]);
59
+ static get fakedOwners(): Person[];
60
+ static set fakedOwners(owners: Person[]);
61
+ static get fakedRoles(): Role[];
62
+ static set fakedRoles(roles: Role[]);
63
+ static get fakedSkills(): ISkill[];
64
+ static set fakedSkills(skills: ISkill[]);
65
+ static get fakedManagers(): Person[];
66
+ static set fakedManagers(managers: Person[]);
67
+ static get fakedGuests(): Person[];
68
+ static set fakedGuests(guests: Person[]);
69
+ static get fakedGroupManagers(): Person[];
70
+ static set fakedGroupManagers(groupManagers: Person[]);
79
71
  static get fakedClient(): MercuryClient;
80
72
  static set fakedClient(client: MercuryClient);
81
73
  static get fakedOrganizations(): Organization[];
@@ -104,4 +96,53 @@ export default abstract class AbstractSpruceFixtureTest extends AbstractSkillTes
104
96
  static set stores(fixture: StoreFixture | undefined);
105
97
  static get database(): DatabaseFixture;
106
98
  static set database(fixture: DatabaseFixture | undefined);
99
+ protected beforeEach(): Promise<void>;
100
+ protected afterEach(): Promise<void>;
101
+ Fixture<Name extends FixtureName>(name: Name, options?: Partial<FixtureConstructorOptionsMap[Name]>): import("../types/fixture.types").FixtureMap[Name];
102
+ get fakedPerson(): Person;
103
+ set fakedPerson(person: Person);
104
+ get fakedPeople(): Person[];
105
+ set fakedPeople(people: Person[]);
106
+ get fakedTeammates(): Person[];
107
+ set fakedTeammates(teammates: Person[]);
108
+ get fakedOwners(): Person[];
109
+ set fakedOwners(owners: Person[]);
110
+ get fakedRoles(): Role[];
111
+ set fakedRoles(roles: Role[]);
112
+ get fakedSkills(): ISkill[];
113
+ set fakedSkills(skills: ISkill[]);
114
+ get fakedManagers(): Person[];
115
+ set fakedManagers(managers: Person[]);
116
+ get fakedGuests(): Person[];
117
+ set fakedGuests(guests: Person[]);
118
+ get fakedGroupManagers(): Person[];
119
+ set fakedGroupManagers(groupManagers: Person[]);
120
+ get fakedClient(): MercuryClient;
121
+ set fakedClient(client: MercuryClient);
122
+ get fakedOrganizations(): Organization[];
123
+ set fakedOrganizations(orgs: Organization[]);
124
+ get fakedLocations(): Location[];
125
+ set fakedLocations(locations: Location[]);
126
+ get views(): ViewFixture;
127
+ set views(fixture: ViewFixture | undefined);
128
+ get permissions(): PermissionFixture;
129
+ set permissions(fixture: PermissionFixture | undefined);
130
+ get roles(): RoleFixture;
131
+ set roles(fixture: RoleFixture | undefined);
132
+ get locations(): LocationFixture;
133
+ set locations(fixture: LocationFixture | undefined);
134
+ get organizations(): OrganizationFixture;
135
+ set organizations(fixture: OrganizationFixture | undefined);
136
+ get people(): PersonFixture;
137
+ set people(fixture: PersonFixture | undefined);
138
+ get seeder(): SeedFixture;
139
+ set seeder(fixture: SeedFixture | undefined);
140
+ get skills(): SkillFixture;
141
+ set skills(fixture: SkillFixture | undefined);
142
+ get mercury(): MercuryFixture;
143
+ set mercury(fixture: MercuryFixture | undefined);
144
+ get stores(): StoreFixture;
145
+ set stores(fixture: StoreFixture | undefined);
146
+ get database(): DatabaseFixture;
147
+ set database(fixture: DatabaseFixture | undefined);
107
148
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const spruce_skill_booter_1 = require("@sprucelabs/spruce-skill-booter");
7
7
  const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
8
8
  const test_utils_1 = require("@sprucelabs/test-utils");
9
+ const FakerTracker_1 = __importDefault(require("../FakerTracker"));
9
10
  const FixtureFactory_1 = __importDefault(require("./fixtures/FixtureFactory"));
10
11
  const env = require('dotenv');
11
12
  class AbstractSpruceFixtureTest extends spruce_skill_booter_1.AbstractSkillTest {
@@ -18,46 +19,17 @@ class AbstractSpruceFixtureTest extends spruce_skill_booter_1.AbstractSkillTest
18
19
  static async beforeEach() {
19
20
  await super.beforeEach();
20
21
  await FixtureFactory_1.default.beforeEach(this.cwd);
21
- this._fixtures = undefined;
22
- this.clearLocalFixtures();
23
- }
24
- static clearLocalFixtures() {
25
- this.views = undefined;
26
- this.roles = undefined;
27
- this.locations = undefined;
28
- this.organizations = undefined;
29
- this.people = undefined;
30
- this.seeder = undefined;
31
- this.skills = undefined;
32
- this.mercury = undefined;
33
- this.stores = undefined;
34
- this.database = undefined;
35
- this.permissions = undefined;
22
+ FakerTracker_1.default.resetFixtureWarehouse();
36
23
  }
37
24
  static async afterEach() {
38
25
  await super.afterEach();
39
26
  await FixtureFactory_1.default.afterEach();
40
- this.clearLocalFixtures();
27
+ FakerTracker_1.default.resetFixtureWarehouse();
41
28
  }
42
29
  static async afterAll() {
43
30
  await super.afterAll();
44
31
  await FixtureFactory_1.default.afterAll();
45
32
  }
46
- static Fixture(name, options) {
47
- if (!this._fixtures) {
48
- const pkg = spruce_skill_utils_1.diskUtil.resolvePath(this.cwd, 'package.json');
49
- let namespace;
50
- if (spruce_skill_utils_1.diskUtil.doesFileExist(pkg)) {
51
- const values = JSON.parse(spruce_skill_utils_1.diskUtil.readFile(pkg));
52
- namespace = values?.skill?.namespace;
53
- }
54
- this._fixtures = new FixtureFactory_1.default({
55
- cwd: this.cwd,
56
- namespace,
57
- });
58
- }
59
- return this._fixtures.Fixture(name, options);
60
- }
61
33
  static async bootAndRegisterNewSkill(options) {
62
34
  const { name, slug, ...skillOptions } = options;
63
35
  const { skill, client } = await this.skills.loginAsDemoSkill({
@@ -79,130 +51,303 @@ class AbstractSpruceFixtureTest extends spruce_skill_booter_1.AbstractSkillTest
79
51
  }
80
52
  static async SkillFromTestDir(key, options) {
81
53
  const skill = await super.SkillFromTestDir(key, options);
82
- this._fixtures = undefined;
83
54
  return skill;
84
55
  }
56
+ static Fixture(name, options) {
57
+ return FakerTracker_1.default.getFixtures(this.cwd).Fixture(name, options);
58
+ }
59
+ static get fakedPerson() {
60
+ return FakerTracker_1.default.fakedPerson;
61
+ }
62
+ static set fakedPerson(person) {
63
+ FakerTracker_1.default.fakedPerson = person;
64
+ }
65
+ static get fakedPeople() {
66
+ return FakerTracker_1.default.fakedPeople;
67
+ }
68
+ static set fakedPeople(people) {
69
+ FakerTracker_1.default.fakedPeople = people;
70
+ }
71
+ static get fakedTeammates() {
72
+ return FakerTracker_1.default.fakedTeammates;
73
+ }
74
+ static set fakedTeammates(teammates) {
75
+ FakerTracker_1.default.fakedTeammates = teammates;
76
+ }
77
+ static get fakedOwners() {
78
+ return FakerTracker_1.default.fakedOwners;
79
+ }
80
+ static set fakedOwners(owners) {
81
+ FakerTracker_1.default.fakedOwners = owners;
82
+ }
83
+ static get fakedRoles() {
84
+ return FakerTracker_1.default.fakedRoles;
85
+ }
86
+ static set fakedRoles(roles) {
87
+ FakerTracker_1.default.fakedRoles = roles;
88
+ }
89
+ static get fakedSkills() {
90
+ return FakerTracker_1.default.fakedSkills;
91
+ }
92
+ static set fakedSkills(skills) {
93
+ FakerTracker_1.default.fakedSkills = skills;
94
+ }
95
+ static get fakedManagers() {
96
+ return FakerTracker_1.default.fakedManagers;
97
+ }
98
+ static set fakedManagers(managers) {
99
+ FakerTracker_1.default.fakedManagers = managers;
100
+ }
101
+ static get fakedGuests() {
102
+ return FakerTracker_1.default.fakedGuests;
103
+ }
104
+ static set fakedGuests(guests) {
105
+ FakerTracker_1.default.fakedGuests = guests;
106
+ }
107
+ static get fakedGroupManagers() {
108
+ return FakerTracker_1.default.fakedGroupManagers;
109
+ }
110
+ static set fakedGroupManagers(groupManagers) {
111
+ FakerTracker_1.default.fakedGroupManagers = groupManagers;
112
+ }
85
113
  static get fakedClient() {
86
- test_utils_1.assert.isTruthy(this._fakedClient, `You gotta @fake.login() on your test class to get the test client.`);
87
- return this._fakedClient;
114
+ test_utils_1.assert.isTruthy(FakerTracker_1.default.fakedClient, `You gotta @fake.login() on your test class to get the test client.`);
115
+ return FakerTracker_1.default.fakedClient;
88
116
  }
89
117
  static set fakedClient(client) {
90
- this._fakedClient = client;
118
+ FakerTracker_1.default.fakedClient = client;
91
119
  }
92
120
  static get fakedOrganizations() {
93
- return this._fakedOrganizations;
121
+ return FakerTracker_1.default.fakedOrganizations;
94
122
  }
95
123
  static set fakedOrganizations(orgs) {
96
- test_utils_1.assert.isAbove(this._fakedOrganizations.length, 0, `You gotta @seed('organizations', 1) (and use @fake.login(...)) before getting faked orgs.`);
97
- this._fakedOrganizations = orgs;
124
+ FakerTracker_1.default.fakedOrganizations = orgs;
98
125
  }
99
126
  static get fakedLocations() {
100
- test_utils_1.assert.isAbove(this._fakedLocations.length, 0, `You gotta @seed('locations', 1) (and use @fake.login(...)) before getting faked locations.`);
101
- return this._fakedLocations;
127
+ test_utils_1.assert.isAbove(FakerTracker_1.default.fakedLocations.length, 0, `You gotta @seed('locations', 1) (and use @fake.login(...)) before getting faked locations.`);
128
+ return FakerTracker_1.default.fakedLocations;
102
129
  }
103
130
  static set fakedLocations(locations) {
104
- this._fakedLocations = locations;
131
+ FakerTracker_1.default.fakedLocations = locations;
105
132
  }
106
133
  static get views() {
107
- if (!this._views) {
108
- this._views = this.Fixture('view');
109
- }
110
- return this._views;
134
+ return FakerTracker_1.default.getFixtures(this.cwd).views;
111
135
  }
112
136
  static set views(fixture) {
113
- this._views = fixture;
137
+ FakerTracker_1.default.getFixtures(this.cwd).views = fixture;
114
138
  }
115
139
  static get permissions() {
116
- if (!this._permissions) {
117
- this._permissions = this.Fixture('permission');
118
- }
119
- return this._permissions;
140
+ return FakerTracker_1.default.getFixtures(this.cwd).permissions;
120
141
  }
121
142
  static set permissions(fixture) {
122
- this._permissions = fixture;
143
+ FakerTracker_1.default.getFixtures(this.cwd).permissions = fixture;
123
144
  }
124
145
  static get roles() {
125
- if (!this._roles) {
126
- this._roles = this.Fixture('role');
127
- }
128
- return this._roles;
146
+ return FakerTracker_1.default.getFixtures(this.cwd).roles;
129
147
  }
130
148
  static set roles(fixture) {
131
- this._roles = fixture;
149
+ FakerTracker_1.default.getFixtures(this.cwd).roles = fixture;
132
150
  }
133
151
  static get locations() {
134
- if (!this._locations) {
135
- this._locations = this.Fixture('location');
136
- }
137
- return this._locations;
152
+ return FakerTracker_1.default.getFixtures(this.cwd).locations;
138
153
  }
139
154
  static set locations(fixture) {
140
- this._locations = fixture;
155
+ FakerTracker_1.default.getFixtures(this.cwd).locations = fixture;
141
156
  }
142
157
  static get organizations() {
143
- if (!this._organizations) {
144
- this._organizations = this.Fixture('organization');
145
- }
146
- return this._organizations;
158
+ return FakerTracker_1.default.getFixtures(this.cwd).organizations;
147
159
  }
148
160
  static set organizations(fixture) {
149
- this._organizations = fixture;
161
+ FakerTracker_1.default.getFixtures(this.cwd).organizations = fixture;
150
162
  }
151
163
  static get people() {
152
- if (!this._people) {
153
- this._people = this.Fixture('person');
154
- }
155
- return this._people;
164
+ return FakerTracker_1.default.getFixtures(this.cwd).people;
156
165
  }
157
166
  static set people(fixture) {
158
- this._people = fixture;
167
+ FakerTracker_1.default.getFixtures(this.cwd).people = fixture;
159
168
  }
160
169
  static get seeder() {
161
- if (!this._seeder) {
162
- this._seeder = this.Fixture('seed');
163
- }
164
- return this._seeder;
170
+ return FakerTracker_1.default.getFixtures(this.cwd).seeder;
165
171
  }
166
172
  static set seeder(fixture) {
167
- this._seeder = fixture;
173
+ FakerTracker_1.default.getFixtures(this.cwd).seeder = fixture;
168
174
  }
169
175
  static get skills() {
170
- if (!this._skills) {
171
- this._skills = this.Fixture('skill');
172
- }
173
- return this._skills;
176
+ return FakerTracker_1.default.getFixtures(this.cwd).skills;
174
177
  }
175
178
  static set skills(fixture) {
176
- this._skills = fixture;
179
+ FakerTracker_1.default.getFixtures(this.cwd).skills = fixture;
177
180
  }
178
181
  static get mercury() {
179
- if (!this._mercury) {
180
- this._mercury = this.Fixture('mercury');
181
- }
182
- return this._mercury;
182
+ return FakerTracker_1.default.getFixtures(this.cwd).mercury;
183
183
  }
184
184
  static set mercury(fixture) {
185
- this._mercury = fixture;
185
+ FakerTracker_1.default.getFixtures(this.cwd).mercury = fixture;
186
186
  }
187
187
  static get stores() {
188
- if (!this._stores) {
189
- this._stores = this.Fixture('store');
190
- }
191
- return this._stores;
188
+ return FakerTracker_1.default.getFixtures(this.cwd).stores;
192
189
  }
193
190
  static set stores(fixture) {
194
- this._stores = fixture;
191
+ FakerTracker_1.default.getFixtures(this.cwd).stores = fixture;
195
192
  }
196
193
  static get database() {
197
- if (!this._database) {
198
- this._database = this.Fixture('database');
199
- }
200
- return this._database;
194
+ return FakerTracker_1.default.getFixtures(this.cwd).database;
201
195
  }
202
196
  static set database(fixture) {
203
- this._database = fixture;
197
+ FakerTracker_1.default.getFixtures(this.cwd).database = fixture;
198
+ }
199
+ //instance version of things above
200
+ async beforeEach() {
201
+ await super.beforeEach();
202
+ await FixtureFactory_1.default.beforeEach(this.cwd);
203
+ FakerTracker_1.default.resetFixtureWarehouse();
204
+ }
205
+ async afterEach() {
206
+ await super.afterEach();
207
+ await FixtureFactory_1.default.afterEach();
208
+ }
209
+ Fixture(name, options) {
210
+ return FakerTracker_1.default.getFixtures(this.cwd).Fixture(name, options);
211
+ }
212
+ get fakedPerson() {
213
+ return FakerTracker_1.default.fakedPerson;
214
+ }
215
+ set fakedPerson(person) {
216
+ FakerTracker_1.default.fakedPerson = person;
217
+ }
218
+ get fakedPeople() {
219
+ return FakerTracker_1.default.fakedPeople;
220
+ }
221
+ set fakedPeople(people) {
222
+ FakerTracker_1.default.fakedPeople = people;
223
+ }
224
+ get fakedTeammates() {
225
+ return FakerTracker_1.default.fakedTeammates;
226
+ }
227
+ set fakedTeammates(teammates) {
228
+ FakerTracker_1.default.fakedTeammates = teammates;
229
+ }
230
+ get fakedOwners() {
231
+ return FakerTracker_1.default.fakedOwners;
232
+ }
233
+ set fakedOwners(owners) {
234
+ FakerTracker_1.default.fakedOwners = owners;
235
+ }
236
+ get fakedRoles() {
237
+ return FakerTracker_1.default.fakedRoles;
238
+ }
239
+ set fakedRoles(roles) {
240
+ FakerTracker_1.default.fakedRoles = roles;
241
+ }
242
+ get fakedSkills() {
243
+ return FakerTracker_1.default.fakedSkills;
244
+ }
245
+ set fakedSkills(skills) {
246
+ FakerTracker_1.default.fakedSkills = skills;
247
+ }
248
+ get fakedManagers() {
249
+ return FakerTracker_1.default.fakedManagers;
250
+ }
251
+ set fakedManagers(managers) {
252
+ FakerTracker_1.default.fakedManagers = managers;
253
+ }
254
+ get fakedGuests() {
255
+ return FakerTracker_1.default.fakedGuests;
256
+ }
257
+ set fakedGuests(guests) {
258
+ FakerTracker_1.default.fakedGuests = guests;
259
+ }
260
+ get fakedGroupManagers() {
261
+ return FakerTracker_1.default.fakedGroupManagers;
262
+ }
263
+ set fakedGroupManagers(groupManagers) {
264
+ FakerTracker_1.default.fakedGroupManagers = groupManagers;
265
+ }
266
+ get fakedClient() {
267
+ test_utils_1.assert.isTruthy(FakerTracker_1.default.fakedClient, `You gotta @fake.login() on your test class to get the test client.`);
268
+ return FakerTracker_1.default.fakedClient;
269
+ }
270
+ set fakedClient(client) {
271
+ FakerTracker_1.default.fakedClient = client;
272
+ }
273
+ get fakedOrganizations() {
274
+ return FakerTracker_1.default.fakedOrganizations;
275
+ }
276
+ set fakedOrganizations(orgs) {
277
+ FakerTracker_1.default.fakedOrganizations = orgs;
278
+ }
279
+ get fakedLocations() {
280
+ test_utils_1.assert.isAbove(FakerTracker_1.default.fakedLocations.length, 0, `You gotta @seed('locations', 1) (and use @fake.login(...)) before getting faked locations.`);
281
+ return FakerTracker_1.default.fakedLocations;
282
+ }
283
+ set fakedLocations(locations) {
284
+ FakerTracker_1.default.fakedLocations = locations;
285
+ }
286
+ get views() {
287
+ return FakerTracker_1.default.getFixtures(this.cwd).views;
288
+ }
289
+ set views(fixture) {
290
+ FakerTracker_1.default.getFixtures(this.cwd).views = fixture;
291
+ }
292
+ get permissions() {
293
+ return FakerTracker_1.default.getFixtures(this.cwd).permissions;
294
+ }
295
+ set permissions(fixture) {
296
+ FakerTracker_1.default.getFixtures(this.cwd).permissions = fixture;
297
+ }
298
+ get roles() {
299
+ return FakerTracker_1.default.getFixtures(this.cwd).roles;
300
+ }
301
+ set roles(fixture) {
302
+ FakerTracker_1.default.getFixtures(this.cwd).roles = fixture;
303
+ }
304
+ get locations() {
305
+ return FakerTracker_1.default.getFixtures(this.cwd).locations;
306
+ }
307
+ set locations(fixture) {
308
+ FakerTracker_1.default.getFixtures(this.cwd).locations = fixture;
309
+ }
310
+ get organizations() {
311
+ return FakerTracker_1.default.getFixtures(this.cwd).organizations;
312
+ }
313
+ set organizations(fixture) {
314
+ FakerTracker_1.default.getFixtures(this.cwd).organizations = fixture;
315
+ }
316
+ get people() {
317
+ return FakerTracker_1.default.getFixtures(this.cwd).people;
318
+ }
319
+ set people(fixture) {
320
+ FakerTracker_1.default.getFixtures(this.cwd).people = fixture;
321
+ }
322
+ get seeder() {
323
+ return FakerTracker_1.default.getFixtures(this.cwd).seeder;
324
+ }
325
+ set seeder(fixture) {
326
+ FakerTracker_1.default.getFixtures(this.cwd).seeder = fixture;
327
+ }
328
+ get skills() {
329
+ return FakerTracker_1.default.getFixtures(this.cwd).skills;
330
+ }
331
+ set skills(fixture) {
332
+ FakerTracker_1.default.getFixtures(this.cwd).skills = fixture;
333
+ }
334
+ get mercury() {
335
+ return FakerTracker_1.default.getFixtures(this.cwd).mercury;
336
+ }
337
+ set mercury(fixture) {
338
+ FakerTracker_1.default.getFixtures(this.cwd).mercury = fixture;
339
+ }
340
+ get stores() {
341
+ return FakerTracker_1.default.getFixtures(this.cwd).stores;
342
+ }
343
+ set stores(fixture) {
344
+ FakerTracker_1.default.getFixtures(this.cwd).stores = fixture;
345
+ }
346
+ get database() {
347
+ return FakerTracker_1.default.getFixtures(this.cwd).database;
348
+ }
349
+ set database(fixture) {
350
+ FakerTracker_1.default.getFixtures(this.cwd).database = fixture;
204
351
  }
205
352
  }
206
- AbstractSpruceFixtureTest._fakedOrganizations = [];
207
- AbstractSpruceFixtureTest._fakedLocations = [];
208
353
  exports.default = AbstractSpruceFixtureTest;
@@ -1,11 +1,21 @@
1
1
  import { MercuryClient } from '@sprucelabs/mercury-client';
2
2
  import { SpruceSchemas } from '@sprucelabs/mercury-types';
3
3
  import { CoreSeedTarget } from './seed';
4
+ declare function fake(target: CoreSeedTarget, total: number): (TestClass: any, _key: string, descriptor: any) => void;
5
+ declare namespace fake {
6
+ var login: (phone?: string) => (TestClass: any, shouldPassHookCalls?: boolean) => void;
7
+ var getClient: () => Client;
8
+ var getPerson: () => Person;
9
+ }
10
+ export default fake;
11
+ export declare function fakeTargetToPropName(target: CoreSeedTarget): keyof FakedData;
12
+ export declare function pluralToSingular(target: string): string;
13
+ export declare function singularToPlural(target: string): string;
4
14
  type Person = SpruceSchemas.Spruce.v2020_07_22.Person;
5
15
  type Skill = SpruceSchemas.Spruce.v2020_07_22.Skill;
6
16
  /** @ts-ignore */
7
17
  type Client = MercuryClient;
8
- interface ClassWithFakes {
18
+ interface FakedData {
9
19
  fakedOwners?: Person[];
10
20
  fakedTeammates?: Person[];
11
21
  fakedManagers?: Person[];
@@ -14,13 +24,3 @@ interface ClassWithFakes {
14
24
  fakedSkills: Skill[];
15
25
  fakedGroupManagers: Person[];
16
26
  }
17
- declare function fake(target: CoreSeedTarget, total: number): (TestClass: any, _key: string, descriptor: any) => void;
18
- declare namespace fake {
19
- var login: (phone?: string) => (TestClass: any, shouldPassHookCalls?: boolean) => void;
20
- var getClient: () => Client;
21
- var getPerson: () => Person;
22
- }
23
- export default fake;
24
- export declare function fakeTargetToPropName(target: CoreSeedTarget): keyof ClassWithFakes;
25
- export declare function pluralToSingular(target: string): string;
26
- export declare function singularToPlural(target: string): string;