I am trying to write a unit test case using ava. But it keeps on giving mockedGetWriteApi.writePoint is not a function
import * as influxDB from '@influxdata/influxdb-client'
import test from 'ava'
import { anything, instance, mock, verify, when } from 'ts-mockito'
const clientOptions: influxDB.ClientOptions = {
url: 'http://fake:9999',
token: 'a',
}
const values: IInfluxDBValues = {
org: 'testOrg',
host: 'testHost',
}
const influxDBClient = new influxDB.InfluxDB(clientOptions)
const writeApi: WriteApi = influxDBClient.getWriteApi(values.org, 'testBucket')
const mockedInfluxDBClient = mock(influxDB.InfluxDB)
const mockedGetWriteApi: WriteApi = mock(mockedInfluxDBClient.getWriteApi(anything(), anything()))
const influxdbProvider = new InfluxDBProvider(values, instance(mockedInfluxDBClient))
await influxdbProvider.write(points)
when(mockedInfluxDBClient.getWriteApi(anything(), anything())).thenReturn(writeApi)
verify(mockedInfluxDBClient.getWriteApi(values.org, anything())).once()
verify(mockedGetWriteApi.writePoint(anything())).once()
t.pass()
How can I resolve mockedGetWriteApi.writePoint is not a function. Or is there a better way to mock it.
Aucun commentaire:
Enregistrer un commentaire