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
mock
function.
// 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 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 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 |
---|---|