Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/vi-mock-inherit-slice7-plugin-grid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
---

Test-only change: the 25 `vi.mock` factories that hand-listed `@object-ui/plugin-grid`'s
exports now inherit the real barrel's export surface, and the specifier joins the
`check-vi-mock-inherit` guard's covered set. No published behaviour changes.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,10 @@ import { render, screen, fireEvent, cleanup, within } from '@testing-library/rea
import type { DashboardComponentSchema } from '@object-ui/types';
import { DashboardEditor } from '../DashboardEditor';

vi.mock('@object-ui/plugin-grid', () => import('./__mocks__/plugin-grid'));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-grid')),
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-form')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ import { render, screen, fireEvent, waitFor, cleanup } from '@testing-library/re
import type { DesignerFieldDefinition } from '@object-ui/types';
import { FieldDesigner } from '../FieldDesigner';

vi.mock('@object-ui/plugin-grid', () => import('./__mocks__/plugin-grid'));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-grid')),
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-form')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ import { ObjectManager } from '../ObjectManager';
import type { ObjectDefinition } from '@object-ui/types';

// Mock standard components — tested separately in their own packages
vi.mock('@object-ui/plugin-grid', () => import('./__mocks__/plugin-grid'));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-grid')),
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-form')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ import type { DashboardComponentSchema, ObjectDefinition } from '@object-ui/type
import { DashboardEditor } from '../DashboardEditor';
import { ObjectManager } from '../ObjectManager';

vi.mock('@object-ui/plugin-grid', () => import('./__mocks__/plugin-grid'));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-grid')),
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
...(await import('./__mocks__/plugin-form')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ vi.mock('@object-ui/react', async (importOriginal) => {
* it was handed. What reaches this object IS the forwarding whitelist.
*/
const gridSchemas: any[] = [];
vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema }: any) => {
gridSchemas.push(schema);
return <div data-testid="object-grid" />;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ vi.mock('@object-ui/react', async (importOriginal) => ({
),
}));

vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema }: { schema?: { objectName?: string } }) => (
<div data-testid="object-grid" data-object={schema?.objectName} />
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ vi.mock('@object-ui/react', async (importOriginal) => {

// Grid stub exposing the two row affordances this test drives: a row click
// (-> formMode 'view') and the row edit action (-> formMode 'edit').
vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema, onRowClick, onEdit }: any) => (
<div data-testid="object-grid" data-object={schema?.objectName}>
<button data-testid="grid-row" onClick={() => onRowClick?.({ id: '1', name: 'Test' })}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ vi.mock('@object-ui/react', async (importOriginal) => {
};
});

vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema, onRowClick, onEdit }: any) => (
<div data-testid="object-grid" data-object={schema?.objectName}>
<button data-testid="grid-row" onClick={() => onRowClick?.({ id: '1', name: 'Test' })}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ vi.mock('@object-ui/react', async (importOriginal) => {

/** The grid the view delegates to, replaced by a probe that records its schema. */
const gridSchemas: any[] = [];
vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema }: any) => {
gridSchemas.push(schema);
return <div data-testid="object-grid" />;
Expand Down
3 changes: 2 additions & 1 deletion packages/plugin-view/src/__tests__/ObjectView.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ vi.mock('@object-ui/react', async (importOriginal) => {
});

// Mock @object-ui/plugin-grid
vi.mock('@object-ui/plugin-grid', () => ({
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: ({ schema, onRowClick }: any) => (
<div data-testid="object-grid" data-object={schema?.objectName}>
<button data-testid="grid-row" onClick={() => onRowClick?.({ id: '1', name: 'Test' })}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,10 @@ vi.mock('@object-ui/react', async (importOriginal) => {
notifyDataChanged: () => {},
};
});
vi.mock('@object-ui/plugin-grid', () => ({ ObjectGrid: () => <div data-testid="object-grid" /> }));
vi.mock('@object-ui/plugin-grid', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectGrid: () => <div data-testid="object-grid" />,
}));
vi.mock('@object-ui/plugin-form', async (importOriginal) => ({
...(await importOriginal<Record<string, unknown>>()),
ObjectForm: () => <div data-testid="object-form" />,
Expand Down
11 changes: 10 additions & 1 deletion scripts/__tests__/check-vi-mock-inherit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,18 @@ describe('ablation — the 26th, reconstructed from the site this PR converts',
it('THE DISCRIMINATING HALF: correct neighbours in the same file are NOT flagged', () => {
// A real file mocks several specifiers at once. Only the covered one is
// judged, and the inheriting spellings beside it stay green.
//
// The workspace neighbour is deliberately a specifier that NO package
// publishes. It used to name a real uncovered package, and objectui#6892's
// sweep of that package turned this fixture's frozen factory into a genuine
// finding -- the case failed for a reason that had nothing to do with what
// it asserts. `COVERED_SPECIFIERS` is grow-only, so any real name here is
// only ever on loan; the scope resolver classifies by string prefix and
// never resolves the module, so a name that cannot be swept keeps this case
// about the resolver instead of about the covered set's current membership.
const { root, files } = fixtureTree({
[suiteAt]: [
mockCall('@object-ui/plugin-grid', `() => ({ ObjectGrid: Stub })`),
mockCall('@object-ui/plugin-never-swept-fixture', `() => ({ ObjectGrid: Stub })`),
mockCall('sonner', `() => ({ toast: Stub })`),
mockCall('./ObjectCalendar', `() => ({ ObjectCalendar: Stub })`),
mockCall(COVERED, `async (orig) => { const actual = await (orig as any)(); return { ...actual, X: Stub }; }`),
Expand Down
Loading
Loading