mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
Replaces implementation in simple saved object mock with an actual mock (#138942)
This commit is contained in:
parent
39675863b0
commit
f300bae1ed
1 changed files with 53 additions and 6 deletions
|
@ -6,15 +6,62 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-browser';
|
||||
import { SimpleSavedObjectImpl } from '@kbn/core-saved-objects-browser-internal';
|
||||
import type {
|
||||
SavedObjectsClientContract,
|
||||
SimpleSavedObject,
|
||||
} from '@kbn/core-saved-objects-api-browser';
|
||||
import type { SavedObject } from '@kbn/core-saved-objects-common';
|
||||
|
||||
type T = unknown;
|
||||
|
||||
const simpleSavedObjectMockDefaults: Partial<SimpleSavedObject<T>> = {
|
||||
attributes: {},
|
||||
_version: '',
|
||||
id: 'id',
|
||||
type: 'type',
|
||||
migrationVersion: {},
|
||||
coreMigrationVersion: '8.0.0',
|
||||
error: undefined,
|
||||
references: [],
|
||||
updatedAt: '',
|
||||
namespaces: undefined,
|
||||
};
|
||||
|
||||
const createSimpleSavedObjectMock = (
|
||||
client: SavedObjectsClientContract,
|
||||
savedObject: SavedObject<unknown>
|
||||
) => new SimpleSavedObjectImpl(client, savedObject);
|
||||
savedObject: SavedObject
|
||||
): jest.Mocked<SimpleSavedObject<T>> => {
|
||||
const mock = {
|
||||
...simpleSavedObjectMockDefaults,
|
||||
attributes: savedObject.attributes,
|
||||
_version: savedObject.version,
|
||||
id: savedObject.id,
|
||||
type: savedObject.type,
|
||||
migrationVersion: savedObject.migrationVersion,
|
||||
coreMigrationVersion: savedObject.coreMigrationVersion,
|
||||
error: savedObject.error,
|
||||
references: savedObject.references,
|
||||
updatedAt: savedObject.updated_at,
|
||||
namespaces: savedObject.namespaces,
|
||||
get: jest.fn(),
|
||||
set: jest.fn(),
|
||||
has: jest.fn(),
|
||||
save: jest.fn(),
|
||||
delete: jest.fn(),
|
||||
};
|
||||
mock.get.mockImplementation(
|
||||
(key: string): any => (savedObject.attributes as any)[key] || undefined
|
||||
);
|
||||
mock.set.mockReturnValue((key: string, value: any) => {
|
||||
(savedObject as any)[key] = value;
|
||||
return savedObject;
|
||||
});
|
||||
mock.has.mockReturnValue(true);
|
||||
mock.save.mockImplementation(() => Promise.resolve(mock));
|
||||
mock.delete.mockImplementation(() => Promise.resolve({}));
|
||||
return mock;
|
||||
};
|
||||
|
||||
export const simpleSavedObjectMock = {
|
||||
create: createSimpleSavedObjectMock,
|
||||
create: (client: SavedObjectsClientContract, savedObject: SavedObject) =>
|
||||
createSimpleSavedObjectMock(savedObject),
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue