Open
Description
When writing unit tests for a class having a WeaviateClient object as a dependency, one usually tries to mock away the real database connection by using a WeaviateClient mock object instead. Mocking can normally be easily achieved using frameworks like ts-mockito.
import { anyString, instance, mock, when } from 'ts-mockito'
...
const mockClient = mock<WeaviateClient>()
const mockClientInstance = instance(mockClient)
const mockSchema = mock<Schema>()
const mockSchemaInstance = instance(mockSchema)
when(mockClient.schema).thenReturn(mockSchemaInstance)
when(mockSchema.exists(anyString())).thenReturn(Promise.resolve(true))
However, this typescript client makes use of the Builder Pattern heavily, which makes mocking an entire WeaviateClient implementation quite cumbersome.
For developers, it would therefore be convenient to have a fake in-memory WeaviateClient implementation provided by the typescript client library itself.
Metadata
Metadata
Assignees
Labels
No labels