mockServices
Home > @backstage/backend-test-utils > mockServices
Mock implementations of the core services, to be used in tests.
Signature:
namespace mockServices 
Remarks
There are some variations among the services depending on what needs tests might have, but overall there are three main usage patterns:
- Creating an actual fake service instance, often with a simplified version of functionality, by calling the mock service itself as a function.
 
// The function often accepts parameters that control its behavior
const foo = mockServices.foo();
- Creating a mock service, where all methods are replaced with jest mocks, by calling the service's 
mockfunction. 
// You can optionally supply a subset of its methods to implement
const foo = mockServices.foo.mock({
  someMethod: () => 'mocked result',
});
// After exercising your test, you can make assertions on the mock:
expect(foo.someMethod).toHaveBeenCalledTimes(2);
expect(foo.otherMethod).toHaveBeenCalledWith(testData);
- Creating a service factory that behaves similarly to the mock as per above.
 
await startTestBackend({
  features: [
    mockServices.foo.factory({
      someMethod: () => 'mocked result',
    })
  ],
});
Functions
| 
 Function  | 
 Description  | 
|---|---|
| 
 Creates a mock implementation of the coreServices.database. Just returns the given   | |
| 
 Creates a functional mock implementation of the .  | |
| 
 Creates a mock implementation of the  By default all requests without credentials are treated as requests from the default mock user principal. This behavior can be configured with the   | |
| 
 Creates a functional mock implementation of the PermissionsService.  | |
| 
 Creates a mock implementation of the  By default it extracts the user's entity ref from a user principal and returns that as the only ownership entity ref, but this can be overridden by passing in a custom set of user info.  | 
Namespaces
| 
 Namespace  | 
 Description  | 
|---|---|