@sprucelabs/spruce-calendar-components 22.7.2 → 22.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/esm/index-components.d.ts +1 -0
- package/build/esm/index-components.js +1 -0
- package/build/esm/noSchedules/peopleToPeopleWithoutSchedules.d.ts +3 -0
- package/build/esm/noSchedules/peopleToPeopleWithoutSchedules.js +7 -0
- package/build/index-components.d.ts +1 -0
- package/build/index-components.js +3 -1
- package/build/noSchedules/peopleToPeopleWithoutSchedules.d.ts +3 -0
- package/build/noSchedules/peopleToPeopleWithoutSchedules.js +10 -0
- package/package.json +5 -33
- package/build/__tests__/support/CalendarToolBeltStateMachineTestFactory.d.ts +0 -39
- package/build/__tests__/support/CalendarToolBeltStateMachineTestFactory.js +0 -105
- package/build/__tests__/support/SpyEventManager.d.ts +0 -42
- package/build/__tests__/support/SpyEventManager.js +0 -36
- package/build/__tests__/support/SpyPeopleManager.d.ts +0 -10
- package/build/__tests__/support/SpyPeopleManager.js +0 -23
- package/build/__tests__/support/SpyRemoteEventStore.d.ts +0 -18
- package/build/__tests__/support/SpyRemoteEventStore.js +0 -31
- package/build/__tests__/support/SpyRemotePreferencesStore.d.ts +0 -9
- package/build/__tests__/support/SpyRemotePreferencesStore.js +0 -17
- package/build/__tests__/support/utilities/calendarAssert.d.ts +0 -13
- package/build/__tests__/support/utilities/calendarAssert.js +0 -93
- package/build/__tests__/support/utilities/calendarSkillAssert.d.ts +0 -40
- package/build/__tests__/support/utilities/calendarSkillAssert.js +0 -346
- package/build/__tests__/support/utilities/calendarToolBeltInteractor.d.ts +0 -5
- package/build/__tests__/support/utilities/calendarToolBeltInteractor.js +0 -11
- package/build/esm/__tests__/support/CalendarToolBeltStateMachineTestFactory.d.ts +0 -39
- package/build/esm/__tests__/support/CalendarToolBeltStateMachineTestFactory.js +0 -126
- package/build/esm/__tests__/support/SpyEventManager.d.ts +0 -42
- package/build/esm/__tests__/support/SpyEventManager.js +0 -44
- package/build/esm/__tests__/support/SpyPeopleManager.d.ts +0 -10
- package/build/esm/__tests__/support/SpyPeopleManager.js +0 -31
- package/build/esm/__tests__/support/SpyRemoteEventStore.d.ts +0 -18
- package/build/esm/__tests__/support/SpyRemoteEventStore.js +0 -46
- package/build/esm/__tests__/support/SpyRemotePreferencesStore.d.ts +0 -9
- package/build/esm/__tests__/support/SpyRemotePreferencesStore.js +0 -22
- package/build/esm/__tests__/support/utilities/calendarAssert.d.ts +0 -13
- package/build/esm/__tests__/support/utilities/calendarAssert.js +0 -88
- package/build/esm/__tests__/support/utilities/calendarSkillAssert.d.ts +0 -40
- package/build/esm/__tests__/support/utilities/calendarSkillAssert.js +0 -372
- package/build/esm/__tests__/support/utilities/calendarToolBeltInteractor.d.ts +0 -5
- package/build/esm/__tests__/support/utilities/calendarToolBeltInteractor.js +0 -20
|
@@ -29,6 +29,7 @@ export * from './toolBelt/CalendarToolRegistrar';
|
|
|
29
29
|
export { default as AbstractCalendarEventToolBeltState } from './toolBelt/states/AbstractCalendarEventToolBeltState';
|
|
30
30
|
export * from './toolBelt/states/AbstractCalendarEventToolBeltState';
|
|
31
31
|
export { default as draftEventGenerator } from './utilities/draftGenerator';
|
|
32
|
+
export { default as peopleToPeopleWithoutSchedules } from './noSchedules/peopleToPeopleWithoutSchedules';
|
|
32
33
|
/** TYPES */
|
|
33
34
|
export * from './types/calendar.types';
|
|
34
35
|
declare module '@sprucelabs/heartwood-view-controllers/build/types/heartwood.types' {
|
|
@@ -23,5 +23,6 @@ export * from './toolBelt/CalendarToolRegistrar.js';
|
|
|
23
23
|
export { default as AbstractCalendarEventToolBeltState } from './toolBelt/states/AbstractCalendarEventToolBeltState.js';
|
|
24
24
|
export * from './toolBelt/states/AbstractCalendarEventToolBeltState.js';
|
|
25
25
|
export { default as draftEventGenerator } from './utilities/draftGenerator.js';
|
|
26
|
+
export { default as peopleToPeopleWithoutSchedules } from './noSchedules/peopleToPeopleWithoutSchedules.js';
|
|
26
27
|
/** TYPES */
|
|
27
28
|
export * from './types/calendar.types.js';
|
|
@@ -29,6 +29,7 @@ export * from './toolBelt/CalendarToolRegistrar';
|
|
|
29
29
|
export { default as AbstractCalendarEventToolBeltState } from './toolBelt/states/AbstractCalendarEventToolBeltState';
|
|
30
30
|
export * from './toolBelt/states/AbstractCalendarEventToolBeltState';
|
|
31
31
|
export { default as draftEventGenerator } from './utilities/draftGenerator';
|
|
32
|
+
export { default as peopleToPeopleWithoutSchedules } from './noSchedules/peopleToPeopleWithoutSchedules';
|
|
32
33
|
/** TYPES */
|
|
33
34
|
export * from './types/calendar.types';
|
|
34
35
|
declare module '@sprucelabs/heartwood-view-controllers/build/types/heartwood.types' {
|
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.draftEventGenerator = exports.AbstractCalendarEventToolBeltState = exports.CalendarToolRegistrar = exports.EventRepeatingToolViewController = exports.EventDateTimeToolViewController = exports.EventControlsCardViewController = exports.CalendarViewController = exports.RepeatingControlsListViewController = exports.RepeatingCardViewController = exports.SpyEventManager = exports.calendarToolBeltInteractor = exports.CalendarToolTestFactory = exports.CalendarToolBeltStateMachineTestFactory = exports.calendarSkillAssert = exports.calendarAssert = void 0;
|
|
20
|
+
exports.peopleToPeopleWithoutSchedules = exports.draftEventGenerator = exports.AbstractCalendarEventToolBeltState = exports.CalendarToolRegistrar = exports.EventRepeatingToolViewController = exports.EventDateTimeToolViewController = exports.EventControlsCardViewController = exports.CalendarViewController = exports.RepeatingControlsListViewController = exports.RepeatingCardViewController = exports.SpyEventManager = exports.calendarToolBeltInteractor = exports.CalendarToolTestFactory = exports.CalendarToolBeltStateMachineTestFactory = exports.calendarSkillAssert = exports.calendarAssert = void 0;
|
|
21
21
|
var calendarAssert_1 = require("./__tests__/support/utilities/calendarAssert");
|
|
22
22
|
Object.defineProperty(exports, "calendarAssert", { enumerable: true, get: function () { return __importDefault(calendarAssert_1).default; } });
|
|
23
23
|
var calendarSkillAssert_1 = require("./__tests__/support/utilities/calendarSkillAssert");
|
|
@@ -58,5 +58,7 @@ Object.defineProperty(exports, "AbstractCalendarEventToolBeltState", { enumerabl
|
|
|
58
58
|
__exportStar(require("./toolBelt/states/AbstractCalendarEventToolBeltState"), exports);
|
|
59
59
|
var draftGenerator_1 = require("./utilities/draftGenerator");
|
|
60
60
|
Object.defineProperty(exports, "draftEventGenerator", { enumerable: true, get: function () { return __importDefault(draftGenerator_1).default; } });
|
|
61
|
+
var peopleToPeopleWithoutSchedules_1 = require("./noSchedules/peopleToPeopleWithoutSchedules");
|
|
62
|
+
Object.defineProperty(exports, "peopleToPeopleWithoutSchedules", { enumerable: true, get: function () { return __importDefault(peopleToPeopleWithoutSchedules_1).default; } });
|
|
61
63
|
/** TYPES */
|
|
62
64
|
__exportStar(require("./types/calendar.types"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function peopleToPeopleWithoutSchedules(people) {
|
|
4
|
+
return people.map((p) => ({
|
|
5
|
+
id: p.id,
|
|
6
|
+
casualName: p.casualName,
|
|
7
|
+
avatar: p.avatar,
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
exports.default = peopleToPeopleWithoutSchedules;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sprucelabs/spruce-calendar-components",
|
|
3
3
|
"description": "Calendar components for working with calendars and Sprucebot.",
|
|
4
|
-
"version": "22.7.
|
|
4
|
+
"version": "22.7.6",
|
|
5
5
|
"skill": {
|
|
6
6
|
"namespace": "calendar"
|
|
7
7
|
},
|
|
@@ -138,38 +138,10 @@
|
|
|
138
138
|
"build/viewControllers/SelectUpdateRepeatingStrategyCard.vc.d.ts",
|
|
139
139
|
"build/esm/viewControllers/SelectUpdateRepeatingStrategyCard.vc.js",
|
|
140
140
|
"build/esm/viewControllers/SelectUpdateRepeatingStrategyCard.vc.d.ts",
|
|
141
|
-
"build/
|
|
142
|
-
"build/
|
|
143
|
-
"build/esm/
|
|
144
|
-
"build/esm/
|
|
145
|
-
"build/__tests__/support/SpyEventManager.d.ts",
|
|
146
|
-
"build/__tests__/support/SpyEventManager.js",
|
|
147
|
-
"build/esm/__tests__/support/SpyEventManager.d.ts",
|
|
148
|
-
"build/esm/__tests__/support/SpyEventManager.js",
|
|
149
|
-
"build/__tests__/support/SpyPeopleManager.d.ts",
|
|
150
|
-
"build/__tests__/support/SpyPeopleManager.js",
|
|
151
|
-
"build/esm/__tests__/support/SpyPeopleManager.d.ts",
|
|
152
|
-
"build/esm/__tests__/support/SpyPeopleManager.js",
|
|
153
|
-
"build/__tests__/support/SpyRemoteEventStore.d.ts",
|
|
154
|
-
"build/__tests__/support/SpyRemoteEventStore.js",
|
|
155
|
-
"build/esm/__tests__/support/SpyRemoteEventStore.d.ts",
|
|
156
|
-
"build/esm/__tests__/support/SpyRemoteEventStore.js",
|
|
157
|
-
"build/__tests__/support/SpyRemotePreferencesStore.d.ts",
|
|
158
|
-
"build/__tests__/support/SpyRemotePreferencesStore.js",
|
|
159
|
-
"build/esm/__tests__/support/SpyRemotePreferencesStore.d.ts",
|
|
160
|
-
"build/esm/__tests__/support/SpyRemotePreferencesStore.js",
|
|
161
|
-
"build/__tests__/support/utilities/calendarAssert.d.ts",
|
|
162
|
-
"build/__tests__/support/utilities/calendarAssert.js",
|
|
163
|
-
"build/esm/__tests__/support/utilities/calendarAssert.d.ts",
|
|
164
|
-
"build/esm/__tests__/support/utilities/calendarAssert.js",
|
|
165
|
-
"build/__tests__/support/utilities/calendarSkillAssert.d.ts",
|
|
166
|
-
"build/__tests__/support/utilities/calendarSkillAssert.js",
|
|
167
|
-
"build/esm/__tests__/support/utilities/calendarSkillAssert.d.ts",
|
|
168
|
-
"build/esm/__tests__/support/utilities/calendarSkillAssert.js",
|
|
169
|
-
"build/__tests__/support/utilities/calendarToolBeltInteractor.d.ts",
|
|
170
|
-
"build/__tests__/support/utilities/calendarToolBeltInteractor.js",
|
|
171
|
-
"build/esm/__tests__/support/utilities/calendarToolBeltInteractor.d.ts",
|
|
172
|
-
"build/esm/__tests__/support/utilities/calendarToolBeltInteractor.js"
|
|
141
|
+
"build/noSchedules/peopleToPeopleWithoutSchedules.js",
|
|
142
|
+
"build/noSchedules/peopleToPeopleWithoutSchedules.d.ts",
|
|
143
|
+
"build/esm/noSchedules/peopleToPeopleWithoutSchedules.js",
|
|
144
|
+
"build/esm/noSchedules/peopleToPeopleWithoutSchedules.d.ts"
|
|
173
145
|
],
|
|
174
146
|
"keywords": [],
|
|
175
147
|
"scripts": {
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { SpruceSchemas } from '@sprucelabs/calendar-utils';
|
|
2
|
-
import { ToolBeltViewController } from '@sprucelabs/heartwood-view-controllers';
|
|
3
|
-
import { ViewFixture } from '@sprucelabs/spruce-test-fixtures';
|
|
4
|
-
import { GetScheduleOptions, RemoteEventStore } from '../../stores/RemoteEventStore';
|
|
5
|
-
import { CalendarToolBeltStateMachine, UpdateEvent } from '../../types/calendar.types';
|
|
6
|
-
import CalendarViewController from '../../viewControllers/Calendar.vc';
|
|
7
|
-
import SpyEventManager from './SpyEventManager';
|
|
8
|
-
export default class CalendarToolBeltStateMachineTestFactory {
|
|
9
|
-
static StateMachine(views: ViewFixture): Promise<{
|
|
10
|
-
stateMachine: CalendarToolBeltStateMachine;
|
|
11
|
-
toolBeltVc: ToolBeltViewController;
|
|
12
|
-
calendarVc: CalendarViewController;
|
|
13
|
-
events: SpyEventManager;
|
|
14
|
-
}>;
|
|
15
|
-
}
|
|
16
|
-
declare module '@sprucelabs/heartwood-view-controllers/build/types/heartwood.types' {
|
|
17
|
-
interface ViewControllerMap {
|
|
18
|
-
'calendar.calendar': CalendarViewController;
|
|
19
|
-
}
|
|
20
|
-
interface ViewControllerOptionsMap {
|
|
21
|
-
'calendar.calendar': ConstructorParameters<typeof CalendarViewController>[0];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export declare class FakeRemoteEventStore implements RemoteEventStore {
|
|
25
|
-
lastPersistedEvent?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
26
|
-
load(_options: {
|
|
27
|
-
organizationId: string;
|
|
28
|
-
locationId: string;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
persist(event: UpdateEvent): Promise<SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent>;
|
|
31
|
-
setCalendarId(_id: string): void;
|
|
32
|
-
clearCalendarId(): void;
|
|
33
|
-
getCalendarId(): string | undefined;
|
|
34
|
-
waitForPendingSaves(): Promise<void>;
|
|
35
|
-
cancelEvent(_id: string): Promise<void>;
|
|
36
|
-
getSchedules(_options: GetScheduleOptions): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[]>;
|
|
37
|
-
getEventTypes(): Promise<SpruceSchemas.Calendar.v2021_05_19.CalendarEventType[]>;
|
|
38
|
-
getCalendars(): Promise<SpruceSchemas.Calendar.v2021_05_19.Calendar[]>;
|
|
39
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FakeRemoteEventStore = void 0;
|
|
7
|
-
const calendar_utils_1 = require("@sprucelabs/calendar-utils");
|
|
8
|
-
const heartwood_view_controllers_1 = require("@sprucelabs/heartwood-view-controllers");
|
|
9
|
-
const spruce_test_fixtures_1 = require("@sprucelabs/spruce-test-fixtures");
|
|
10
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
11
|
-
const RemotePreferencesStore_1 = __importDefault(require("../../stores/RemotePreferencesStore"));
|
|
12
|
-
const draftGenerator_1 = __importDefault(require("../../utilities/draftGenerator"));
|
|
13
|
-
const Calendar_vc_1 = __importDefault(require("../../viewControllers/Calendar.vc"));
|
|
14
|
-
const SpyEventManager_1 = __importDefault(require("./SpyEventManager"));
|
|
15
|
-
const SpyPeopleManager_1 = __importDefault(require("./SpyPeopleManager"));
|
|
16
|
-
class CalendarToolBeltStateMachineTestFactory {
|
|
17
|
-
static async StateMachine(views) {
|
|
18
|
-
const factory = views.getFactory();
|
|
19
|
-
if (!factory.hasController('calendar.calendar')) {
|
|
20
|
-
factory.mixinControllers({
|
|
21
|
-
//@ts-ignore
|
|
22
|
-
'calendar.calendar': Calendar_vc_1.default,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
const toolBeltVc = views.Controller('toolBelt', {});
|
|
26
|
-
const event = heartwood_view_controllers_1.calendarSeeder.generateEventValues();
|
|
27
|
-
const calendarVc = views.Controller('calendar.calendar', {
|
|
28
|
-
onAddDraftEvent: () => { },
|
|
29
|
-
onEventSwapped(draft, saved) {
|
|
30
|
-
return events.silentlySwapEvent(draft.id, saved);
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
calendarVc.addEvent(event);
|
|
34
|
-
const sm = new heartwood_view_controllers_1.ToolBeltStateMachine({
|
|
35
|
-
vcFactory: views.getFactory(),
|
|
36
|
-
toolBeltVc,
|
|
37
|
-
connectToApi: async () => spruce_test_fixtures_1.fake.getClient(),
|
|
38
|
-
context: Object.assign(Object.assign({}, views.getRouter().buildLoadOptions()), { event,
|
|
39
|
-
calendarVc, cancelEvent: () => { } }),
|
|
40
|
-
});
|
|
41
|
-
const connectToApi = async () => spruce_test_fixtures_1.fake.getClient();
|
|
42
|
-
const preferences = new FakeRemotePreferences({ connectToApi });
|
|
43
|
-
const remoteEventsStore = new FakeRemoteEventStore();
|
|
44
|
-
const events = new SpyEventManager_1.default({
|
|
45
|
-
calendarVc,
|
|
46
|
-
sm,
|
|
47
|
-
dates: calendar_utils_1.dateUtil,
|
|
48
|
-
remoteVc: {
|
|
49
|
-
fetchRemoteController: async (name) => factory.getController(name),
|
|
50
|
-
},
|
|
51
|
-
askForUpdateStrategy: async () => {
|
|
52
|
-
return 'all';
|
|
53
|
-
},
|
|
54
|
-
events: remoteEventsStore,
|
|
55
|
-
preferences,
|
|
56
|
-
});
|
|
57
|
-
await events.load();
|
|
58
|
-
events.silentlyAddEvent(event);
|
|
59
|
-
const people = new SpyPeopleManager_1.default({
|
|
60
|
-
calendarVc,
|
|
61
|
-
connectToApi,
|
|
62
|
-
preferences,
|
|
63
|
-
getVisibleEvents: () => [],
|
|
64
|
-
});
|
|
65
|
-
await sm.updateContext({ events, people });
|
|
66
|
-
await sm.on('did-update-context', () => {
|
|
67
|
-
calendarVc.updateEvent(event.id, Object.assign({}, sm.getContext().event));
|
|
68
|
-
});
|
|
69
|
-
//@ts-ignore
|
|
70
|
-
return { stateMachine: sm, toolBeltVc, calendarVc, events };
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.default = CalendarToolBeltStateMachineTestFactory;
|
|
74
|
-
class FakeRemotePreferences extends RemotePreferencesStore_1.default {
|
|
75
|
-
async loadPreferences() { }
|
|
76
|
-
async save() { }
|
|
77
|
-
}
|
|
78
|
-
class FakeRemoteEventStore {
|
|
79
|
-
async load(_options) { }
|
|
80
|
-
async persist(event) {
|
|
81
|
-
const e = Object.assign(Object.assign({ dateCreated: new Date().getTime() }, heartwood_view_controllers_1.calendarSeeder.generateEventValues()), event);
|
|
82
|
-
if (draftGenerator_1.default.isDraftId(e.id)) {
|
|
83
|
-
e.id = (0, test_utils_1.generateId)();
|
|
84
|
-
}
|
|
85
|
-
this.lastPersistedEvent = e;
|
|
86
|
-
return e;
|
|
87
|
-
}
|
|
88
|
-
setCalendarId(_id) { }
|
|
89
|
-
clearCalendarId() { }
|
|
90
|
-
getCalendarId() {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
async waitForPendingSaves() { }
|
|
94
|
-
async cancelEvent(_id) { }
|
|
95
|
-
async getSchedules(_options) {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
|
-
async getEventTypes() {
|
|
99
|
-
return [];
|
|
100
|
-
}
|
|
101
|
-
async getCalendars() {
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.FakeRemoteEventStore = FakeRemoteEventStore;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { CalendarEvent, CalendarToolBeltContext, UpdateCalendarToolBeltContextHandler } from '../../types/calendar.types';
|
|
2
|
-
import CalendarEventManager, { CalendarEventManagerOptions } from '../../utilities/CalendarEventManager';
|
|
3
|
-
import SpyRemoteEventStore from './SpyRemoteEventStore';
|
|
4
|
-
import SpyRemotePreferencesStore from './SpyRemotePreferencesStore';
|
|
5
|
-
export default class SpyEventManager extends CalendarEventManager {
|
|
6
|
-
updateContext?: UpdateCalendarToolBeltContextHandler<CalendarToolBeltContext>;
|
|
7
|
-
getShouldIgnoreNextContextUpdate(): boolean;
|
|
8
|
-
constructor(options: SpyEventManagerOptions);
|
|
9
|
-
getRemoteEventsStore(): SpyRemoteEventStore;
|
|
10
|
-
getStateMachine(): import("../../types/calendar.types").CalendarToolBeltStateMachine<CalendarToolBeltContext>;
|
|
11
|
-
getPreferences(): SpyRemotePreferencesStore;
|
|
12
|
-
silentlySetAllEvents(events: CalendarEvent[]): void;
|
|
13
|
-
silentlyMixinEvents(events: CalendarEvent[]): void;
|
|
14
|
-
silentlyAddEvent(event: CalendarEvent): void;
|
|
15
|
-
updateEventInContext(updates: Partial<CalendarEvent>): Promise<{
|
|
16
|
-
isBusy: boolean;
|
|
17
|
-
id: string;
|
|
18
|
-
target: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventTarget;
|
|
19
|
-
calendarId: string;
|
|
20
|
-
eventTypeSlug?: string | null | undefined;
|
|
21
|
-
startDateTimeMs: number;
|
|
22
|
-
isResizeable?: boolean | null | undefined;
|
|
23
|
-
style?: "draft" | "tentative" | "upcoming" | "unavailable" | "blocked" | "active" | "past" | "warn" | "critical" | null | undefined;
|
|
24
|
-
groupId?: string | null | undefined;
|
|
25
|
-
timeBlocks: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.CalendarUtils.v2021_05_19.EventTimeBlock[];
|
|
26
|
-
repeats?: "weekly" | "monthly" | "daily" | null | undefined;
|
|
27
|
-
daysOfWeek?: ("sun" | "mon" | "tue" | "wed" | "thur" | "fri" | "sat")[] | null | undefined;
|
|
28
|
-
daysOfMonth?: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31")[] | null | undefined;
|
|
29
|
-
repeatsUntil?: number | null | undefined;
|
|
30
|
-
occurrences?: number | null | undefined;
|
|
31
|
-
interval?: number | null | undefined;
|
|
32
|
-
nthOccurrences?: number[] | null | undefined;
|
|
33
|
-
activeUntilDate?: number | null | undefined;
|
|
34
|
-
exclusionDates?: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.CalendarUtils.v2021_05_19.EventExclusionDate[] | null | undefined;
|
|
35
|
-
nthInRepeating?: number | null | undefined;
|
|
36
|
-
totalInRepeating?: number | null | undefined;
|
|
37
|
-
error?: Error | null | undefined;
|
|
38
|
-
isSelected?: boolean | null | undefined;
|
|
39
|
-
controller?: import("@sprucelabs/heartwood-view-controllers").CalendarEventViewController | null | undefined;
|
|
40
|
-
}>;
|
|
41
|
-
}
|
|
42
|
-
export declare type SpyEventManagerOptions = CalendarEventManagerOptions;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const CalendarEventManager_1 = __importDefault(require("../../utilities/CalendarEventManager"));
|
|
7
|
-
class SpyEventManager extends CalendarEventManager_1.default {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
super(options);
|
|
10
|
-
}
|
|
11
|
-
getShouldIgnoreNextContextUpdate() {
|
|
12
|
-
return this.shouldIgnoreNextContextUpdate;
|
|
13
|
-
}
|
|
14
|
-
getRemoteEventsStore() {
|
|
15
|
-
return this.events;
|
|
16
|
-
}
|
|
17
|
-
getStateMachine() {
|
|
18
|
-
return this.sm;
|
|
19
|
-
}
|
|
20
|
-
getPreferences() {
|
|
21
|
-
return this.prefs;
|
|
22
|
-
}
|
|
23
|
-
silentlySetAllEvents(events) {
|
|
24
|
-
this.allEvents = events;
|
|
25
|
-
}
|
|
26
|
-
silentlyMixinEvents(events) {
|
|
27
|
-
this.allEvents = [...this.allEvents, ...events];
|
|
28
|
-
}
|
|
29
|
-
silentlyAddEvent(event) {
|
|
30
|
-
this.allEvents.push(event);
|
|
31
|
-
}
|
|
32
|
-
async updateEventInContext(updates) {
|
|
33
|
-
return super.updateEventInContext(updates);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.default = SpyEventManager;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import CalendarPeopleManager, { PeopleManagerOptions, SetVisiblePeolpeOptions } from '../../utilities/CalendarPeopleManager';
|
|
2
|
-
import { PersonMode } from '../../viewControllers/PersonSelectTool.vc';
|
|
3
|
-
export default class SpyPeopleManager extends CalendarPeopleManager {
|
|
4
|
-
visiblePeopleIds?: string[];
|
|
5
|
-
peopleVisibilityMode?: PersonMode;
|
|
6
|
-
constructor(options: PeopleManagerOptions);
|
|
7
|
-
protected getVisiblePeopleIds(): string[];
|
|
8
|
-
getVisibilityMode(): PersonMode;
|
|
9
|
-
setVisiblePeopleIds(ids: string[], options?: SetVisiblePeolpeOptions): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const CalendarPeopleManager_1 = __importDefault(require("../../utilities/CalendarPeopleManager"));
|
|
7
|
-
class SpyPeopleManager extends CalendarPeopleManager_1.default {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
super(options);
|
|
10
|
-
}
|
|
11
|
-
getVisiblePeopleIds() {
|
|
12
|
-
var _a;
|
|
13
|
-
return (_a = this.visiblePeopleIds) !== null && _a !== void 0 ? _a : super.getVisiblePeopleIds();
|
|
14
|
-
}
|
|
15
|
-
getVisibilityMode() {
|
|
16
|
-
var _a;
|
|
17
|
-
return (_a = this.peopleVisibilityMode) !== null && _a !== void 0 ? _a : super.getVisibilityMode();
|
|
18
|
-
}
|
|
19
|
-
async setVisiblePeopleIds(ids, options) {
|
|
20
|
-
return super.setVisiblePeopleIds(ids, options);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.default = SpyPeopleManager;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
2
|
-
import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas';
|
|
3
|
-
import RemoteEventStoreImpl, { RemoteEventStoreOptions } from '../../stores/RemoteEventStore';
|
|
4
|
-
import { Calendar, UpdateEvent } from '../../types/calendar.types';
|
|
5
|
-
export default class SpyRemoteEventStore extends RemoteEventStoreImpl {
|
|
6
|
-
private calendars?;
|
|
7
|
-
lastPersistedEvent?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
8
|
-
constructor(options: Omit<RemoteEventStoreOptions, 'connectToApi'> & {
|
|
9
|
-
calendars?: Calendar[];
|
|
10
|
-
locationId?: string;
|
|
11
|
-
organizationId?: string;
|
|
12
|
-
client: MercuryClient;
|
|
13
|
-
});
|
|
14
|
-
setOrganizationId(id: string): void;
|
|
15
|
-
cancelEvent(_id: string): Promise<void>;
|
|
16
|
-
getCalendars(): Promise<SpruceSchemas.Calendar.v2021_05_19.Calendar[] | import("@sprucelabs/schema").SchemaStaticValues<SpruceSchemas.Calendar.v2021_05_19.CalendarSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<SpruceSchemas.Calendar.v2021_05_19.CalendarSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<SpruceSchemas.Calendar.v2021_05_19.CalendarSchema, false>>[]>;
|
|
17
|
-
persist(event: UpdateEvent): Promise<SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent>;
|
|
18
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
7
|
-
const RemoteEventStore_1 = __importDefault(require("../../stores/RemoteEventStore"));
|
|
8
|
-
class SpyRemoteEventStore extends RemoteEventStore_1.default {
|
|
9
|
-
constructor(options) {
|
|
10
|
-
const { calendars, client, locationId, organizationId } = options;
|
|
11
|
-
super({ connectToApi: async () => client });
|
|
12
|
-
this.client = client;
|
|
13
|
-
this.calendars = calendars;
|
|
14
|
-
this.locationId = locationId !== null && locationId !== void 0 ? locationId : (0, test_utils_1.generateId)();
|
|
15
|
-
this.organizationId = organizationId !== null && organizationId !== void 0 ? organizationId : (0, test_utils_1.generateId)();
|
|
16
|
-
}
|
|
17
|
-
setOrganizationId(id) {
|
|
18
|
-
this.organizationId = id;
|
|
19
|
-
}
|
|
20
|
-
async cancelEvent(_id) { }
|
|
21
|
-
async getCalendars() {
|
|
22
|
-
var _a;
|
|
23
|
-
return (_a = this.calendars) !== null && _a !== void 0 ? _a : super.getCalendars();
|
|
24
|
-
}
|
|
25
|
-
async persist(event) {
|
|
26
|
-
const results = await super.persist(event);
|
|
27
|
-
this.lastPersistedEvent = results;
|
|
28
|
-
return results;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.default = SpyRemoteEventStore;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
2
|
-
import RemotePreferencesStore from '../../stores/RemotePreferencesStore';
|
|
3
|
-
export default class SpyRemotePreferencesStore extends RemotePreferencesStore {
|
|
4
|
-
constructor(options: {
|
|
5
|
-
client: MercuryClient;
|
|
6
|
-
visibleCalendarIds?: string[];
|
|
7
|
-
});
|
|
8
|
-
protected save(): Promise<void>;
|
|
9
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const RemotePreferencesStore_1 = __importDefault(require("../../stores/RemotePreferencesStore"));
|
|
7
|
-
class SpyRemotePreferencesStore extends RemotePreferencesStore_1.default {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
const { visibleCalendarIds, client } = options;
|
|
10
|
-
super({ connectToApi: async () => client });
|
|
11
|
-
this.client = client;
|
|
12
|
-
this.isLoaded = true;
|
|
13
|
-
this.visibleCalendarIds = visibleCalendarIds;
|
|
14
|
-
}
|
|
15
|
-
async save() { }
|
|
16
|
-
}
|
|
17
|
-
exports.default = SpyRemotePreferencesStore;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CalendarEvent, SpruceSchemas, ViewController } from '@sprucelabs/heartwood-view-controllers';
|
|
2
|
-
declare type Calendar = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Calendar;
|
|
3
|
-
declare type Event = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent;
|
|
4
|
-
declare const calendarAssert: {
|
|
5
|
-
rendersTotalEvents(vc: ViewController<Calendar>, expected: number): void;
|
|
6
|
-
hasEvent(vc: ViewController<Calendar>, lookup: Partial<Event>): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent;
|
|
7
|
-
eventsAreEqual(actual: Event[], expected: Event[]): void;
|
|
8
|
-
includesInEvent(events: Event[], lookup: Partial<Event>): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent;
|
|
9
|
-
eventIsDuration(event: Event, expectedDuration: number): void;
|
|
10
|
-
eventsFallOnDows(events: CalendarEvent[], expectedDows: string[]): void;
|
|
11
|
-
eventEquals(actual: Partial<CalendarEvent> | undefined | null, expected: Partial<CalendarEvent> | undefined | null): void;
|
|
12
|
-
};
|
|
13
|
-
export default calendarAssert;
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const calendar_utils_1 = require("@sprucelabs/calendar-utils");
|
|
7
|
-
const heartwood_view_controllers_1 = require("@sprucelabs/heartwood-view-controllers");
|
|
8
|
-
const test_1 = require("@sprucelabs/test");
|
|
9
|
-
const just_clone_1 = __importDefault(require("just-clone"));
|
|
10
|
-
const calendarAssert = {
|
|
11
|
-
rendersTotalEvents(vc, expected) {
|
|
12
|
-
const model = heartwood_view_controllers_1.renderUtil.render(vc);
|
|
13
|
-
test_1.assert.isLength(model.events, expected);
|
|
14
|
-
},
|
|
15
|
-
hasEvent(vc, lookup) {
|
|
16
|
-
const { events } = heartwood_view_controllers_1.renderUtil.render(vc);
|
|
17
|
-
return this.includesInEvent(events, lookup);
|
|
18
|
-
},
|
|
19
|
-
eventsAreEqual(actual, expected) {
|
|
20
|
-
function sort(a, b) {
|
|
21
|
-
return a.id > b.id ? 1 : -1;
|
|
22
|
-
}
|
|
23
|
-
actual.sort(sort);
|
|
24
|
-
expected.sort(sort);
|
|
25
|
-
test_1.assert.isEqualDeep(actual, expected);
|
|
26
|
-
},
|
|
27
|
-
includesInEvent(events, lookup) {
|
|
28
|
-
const match = events.find((e) => {
|
|
29
|
-
try {
|
|
30
|
-
test_1.assert.doesInclude(e, lookup);
|
|
31
|
-
return e;
|
|
32
|
-
// eslint-disable-next-line no-empty
|
|
33
|
-
}
|
|
34
|
-
catch (_a) { }
|
|
35
|
-
return null;
|
|
36
|
-
});
|
|
37
|
-
test_1.assert.isTruthy(match, `I could not find an event that matched:\n\n${test_1.assertUtil.stringify(lookup)}`);
|
|
38
|
-
return match;
|
|
39
|
-
},
|
|
40
|
-
eventIsDuration(event, expectedDuration) {
|
|
41
|
-
const duration = event.timeBlocks.reduce((minutes, timeBlock) => {
|
|
42
|
-
minutes += timeBlock.durationMinutes;
|
|
43
|
-
return minutes;
|
|
44
|
-
}, 0);
|
|
45
|
-
test_1.assert.isEqual(duration, expectedDuration);
|
|
46
|
-
},
|
|
47
|
-
eventsFallOnDows(events, expectedDows) {
|
|
48
|
-
const remaining = [...expectedDows];
|
|
49
|
-
for (const event of events) {
|
|
50
|
-
const dow = calendar_utils_1.dateUtil.getDayOfWeek(event.startDateTimeMs);
|
|
51
|
-
const idx = remaining.indexOf(dow);
|
|
52
|
-
if (idx === -1) {
|
|
53
|
-
test_1.assert.fail(`Checking days of week and got ${dow} but it wasn't in the array of expected dows.`);
|
|
54
|
-
}
|
|
55
|
-
remaining.splice(idx, 1);
|
|
56
|
-
}
|
|
57
|
-
if (remaining.length > 0) {
|
|
58
|
-
test_1.assert.fail(`Didn't find the following days of week in events:\n\n${test_1.assertUtil.stringify(remaining)}`);
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
eventEquals(actual, expected) {
|
|
62
|
-
var _a, _b, _c;
|
|
63
|
-
test_1.assert.isTruthy(actual, 'Event is missing');
|
|
64
|
-
test_1.assert.isTruthy(expected, 'Event is missing');
|
|
65
|
-
test_1.assert.isEqual(actual.startDateTimeMs, expected.startDateTimeMs, 'startDateTimeMs does not match');
|
|
66
|
-
test_1.assert.isEqual((_a = actual.isBusy) !== null && _a !== void 0 ? _a : false, (_b = expected.isBusy) !== null && _b !== void 0 ? _b : false, `isBusy does not match, needs to be '${(_c = expected.isBusy) !== null && _c !== void 0 ? _c : false}'`);
|
|
67
|
-
const cleanedActual = (0, just_clone_1.default)(actual);
|
|
68
|
-
const cleanedExpected = (0, just_clone_1.default)(expected);
|
|
69
|
-
cleanEvent(cleanedActual);
|
|
70
|
-
cleanEvent(cleanedExpected);
|
|
71
|
-
test_1.assert.isEqualDeep(cleanedActual, cleanedExpected, 'Your event did not equal what I expected!');
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
function cleanEvent(obj, propsToIgnore = [
|
|
75
|
-
'isSelected',
|
|
76
|
-
'source',
|
|
77
|
-
'dateCreated',
|
|
78
|
-
'isBusy',
|
|
79
|
-
'controller',
|
|
80
|
-
]) {
|
|
81
|
-
for (const prop in obj) {
|
|
82
|
-
const value = obj[prop];
|
|
83
|
-
if (propsToIgnore.indexOf(prop) > -1 ||
|
|
84
|
-
value === null ||
|
|
85
|
-
typeof value === 'undefined') {
|
|
86
|
-
delete obj[prop];
|
|
87
|
-
}
|
|
88
|
-
else if (typeof value === 'object') {
|
|
89
|
-
cleanEvent(value);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.default = calendarAssert;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ToolBeltState, AbstractCalendarEventViewController, ToolBeltStateMachine, SpruceSchemas } from '@sprucelabs/heartwood-view-controllers';
|
|
2
|
-
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
3
|
-
import { ViewFixture } from '@sprucelabs/spruce-test-fixtures';
|
|
4
|
-
import AbstractCalendarEventToolBeltState from '../../../toolBelt/states/AbstractCalendarEventToolBeltState';
|
|
5
|
-
export interface AssertRemoteToolsOptions {
|
|
6
|
-
client: MercuryClient;
|
|
7
|
-
state: ToolBeltState;
|
|
8
|
-
views: ViewFixture;
|
|
9
|
-
}
|
|
10
|
-
interface TypeWithVcId {
|
|
11
|
-
typeSlug: string;
|
|
12
|
-
vcId: string;
|
|
13
|
-
}
|
|
14
|
-
export declare type AssertTypeSlug = string | TypeWithVcId;
|
|
15
|
-
declare const calendarSkillAssert: {
|
|
16
|
-
createdEventTypes: SpruceSchemas.Calendar.v2021_05_19.CalendarEventType[];
|
|
17
|
-
createdCalendars: SpruceSchemas.Calendar.v2021_05_19.Calendar[];
|
|
18
|
-
beforeEach(views: ViewFixture): Promise<void>;
|
|
19
|
-
createsCalendarOnInstall(calendarSlug: string, client: MercuryClient, typeSlugs?: string[]): Promise<void>;
|
|
20
|
-
createsCalendarsWithMultipleInstalls(calendarSlug: string, client: MercuryClient): Promise<void>;
|
|
21
|
-
createsEventTypesOnBoot(types: AssertTypeSlug[], client: MercuryClient, boot: () => Promise<any>): Promise<void>;
|
|
22
|
-
createsEventTypesWithMultipleBoots(types: AssertTypeSlug[], client: MercuryClient, boot: () => Promise<any>): Promise<void>;
|
|
23
|
-
isValidEventViewController(options: {
|
|
24
|
-
views: ViewFixture;
|
|
25
|
-
CalendarEventClass: typeof AbstractCalendarEventViewController;
|
|
26
|
-
ToolBeltStateClass: any;
|
|
27
|
-
}): void;
|
|
28
|
-
stateFetchesAndRendersRemoteTools(options: AssertRemoteToolsOptions): Promise<{
|
|
29
|
-
toolId: string;
|
|
30
|
-
Class: any;
|
|
31
|
-
}[]>;
|
|
32
|
-
toolBeltStateProperlyInheritsAbstractToolBeltState(stateMachine: ToolBeltStateMachine, state: AbstractCalendarEventToolBeltState): Promise<void>;
|
|
33
|
-
toolBeltStateAddsTool(options: {
|
|
34
|
-
state: AbstractCalendarEventToolBeltState;
|
|
35
|
-
toolId: string;
|
|
36
|
-
views: ViewFixture;
|
|
37
|
-
Class?: any;
|
|
38
|
-
}): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.ToolBeltTool>;
|
|
39
|
-
};
|
|
40
|
-
export default calendarSkillAssert;
|