feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
@@ -57,33 +57,68 @@ describe('generateViewContextForZoom', () => {
});
// @vitest-environment jsdom
it('handleZoomSettingsObservedEvent', () => {
const viewManager = mock<ViewManager>();
describe('handleZoomSettingsObservedEvent', () => {
it('should reject observed zoom settings without viewManager ', () => {
handleZoomSettingsObservedEvent(
new CustomEvent('advanced-camera-card:zoom:change', {
detail: {
pan: { x: 1, y: 2 },
zoom: 3,
isDefault: true,
unzoomed: true,
},
}),
);
handleZoomSettingsObservedEvent(
new CustomEvent('advanced-camera-card:zoom:change', {
detail: {
pan: { x: 1, y: 2 },
zoom: 3,
isDefault: true,
unzoomed: true,
},
}),
viewManager,
'target',
);
expect(viewManager.setViewByParameters).toBeCalledWith(
expect.objectContaining({
modifiers: [expect.any(MergeContextViewModifier)],
}),
);
// No observable effect.
});
expect(MergeContextViewModifier).toBeCalledWith({
zoom: {
target: {
observed: { pan: { x: 1, y: 2 }, zoom: 3, isDefault: true, unzoomed: true },
requested: null,
it('should reject observed zoom settings without target ', () => {
const viewManager = mock<ViewManager>();
handleZoomSettingsObservedEvent(
new CustomEvent('advanced-camera-card:zoom:change', {
detail: {
pan: { x: 1, y: 2 },
zoom: 3,
isDefault: true,
unzoomed: true,
},
}),
viewManager,
);
expect(viewManager.setViewByParameters).not.toBeCalled();
});
it('should handle observed zoom settings ', () => {
const viewManager = mock<ViewManager>();
handleZoomSettingsObservedEvent(
new CustomEvent('advanced-camera-card:zoom:change', {
detail: {
pan: { x: 1, y: 2 },
zoom: 3,
isDefault: true,
unzoomed: true,
},
}),
viewManager,
'target',
);
expect(viewManager.setViewByParameters).toBeCalledWith(
expect.objectContaining({
modifiers: [expect.any(MergeContextViewModifier)],
}),
);
expect(MergeContextViewModifier).toBeCalledWith({
zoom: {
target: {
observed: { pan: { x: 1, y: 2 }, zoom: 3, isDefault: true, unzoomed: true },
requested: null,
},
},
},
});
});
});