summaryrefslogtreecommitdiff
path: root/spec/frontend/__helpers__/create_mock_source_editor_extension.js
blob: fa529604d6f2df761f3f447604983bae328d6f8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
export const createMockSourceEditorExtension = (ActualExtension) => {
  const { extensionName } = ActualExtension;
  const providedKeys = Object.keys(new ActualExtension().provides());

  const mockedMethods = Object.fromEntries(providedKeys.map((key) => [key, jest.fn()]));
  const MockExtension = function MockExtension() {};
  MockExtension.extensionName = extensionName;
  MockExtension.mockedMethods = mockedMethods;
  MockExtension.prototype.provides = jest.fn().mockReturnValue(mockedMethods);

  return MockExtension;
};