@pinecone-database/pinecone
Version:
This is the official Node.js SDK for [Pinecone](https://www.pinecone.io), written in TypeScript.
44 lines • 2.42 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const deleteMany_1 = require("../../vectors/deleteMany");
const deleteOne_test_1 = require("./deleteOne.test");
const errors_1 = require("../../../errors");
describe('deleteMany', () => {
test('calls the openapi delete endpoint, passing ids with target namespace', async () => {
const { VectorProvider, VOA } = (0, deleteOne_test_1.setupDeleteSuccess)(undefined);
const deleteManyFn = (0, deleteMany_1.deleteMany)(VectorProvider, 'namespace');
const returned = await deleteManyFn(['123', '456', '789']);
expect(returned).toBe(void 0);
expect(VOA.deleteVectors).toHaveBeenCalledWith({
deleteRequest: { ids: ['123', '456', '789'], namespace: 'namespace' },
});
});
test('calls the openapi delete endpoint, passing filter with target namespace', async () => {
const { VOA, VectorProvider } = (0, deleteOne_test_1.setupDeleteSuccess)(undefined);
const deleteManyFn = (0, deleteMany_1.deleteMany)(VectorProvider, 'namespace');
const returned = await deleteManyFn({ genre: 'ambient' });
expect(returned).toBe(void 0);
expect(VOA.deleteVectors).toHaveBeenCalledWith({
deleteRequest: { filter: { genre: 'ambient' }, namespace: 'namespace' },
});
});
test('throws if pass in empty filter obj', async () => {
const { VectorProvider } = (0, deleteOne_test_1.setupDeleteSuccess)(undefined);
const deleteManyFn = (0, deleteMany_1.deleteMany)(VectorProvider, 'namespace');
const toThrow = async () => {
await deleteManyFn({ some: '' });
};
await expect(toThrow()).rejects.toThrowError(errors_1.PineconeArgumentError);
await expect(toThrow()).rejects.toThrowError('`filter` property cannot be empty');
});
test('throws if pass no record IDs', async () => {
const { VectorProvider } = (0, deleteOne_test_1.setupDeleteSuccess)(undefined);
const deleteManyFn = (0, deleteMany_1.deleteMany)(VectorProvider, 'namespace');
const toThrow = async () => {
await deleteManyFn([]);
};
await expect(toThrow()).rejects.toThrowError(errors_1.PineconeArgumentError);
await expect(toThrow()).rejects.toThrowError('Must pass in at least 1 record ID.');
});
});
//# sourceMappingURL=deleteMany.test.js.map
;