chroma / clients /js /test /collection.test.ts
badalsahani's picture
feat: chroma initial deploy
287a0bc
raw
history blame
2.55 kB
import { expect, test } from "@jest/globals";
import chroma from "./initClient";
test("it should modify collection", async () => {
await chroma.reset();
const collection = await chroma.createCollection({ name: "test" });
expect(collection.name).toBe("test");
expect(collection.metadata).toBeUndefined();
await collection.modify({ name: "test2" });
expect(collection.name).toBe("test2");
expect(collection.metadata).toBeUndefined();
const collection2 = await chroma.getCollection({ name: "test2" });
expect(collection2.name).toBe("test2");
expect(collection2.metadata).toBeNull();
// test changing name and metadata independently
// and verify there are no side effects
const original_name = "test3";
const new_name = "test4";
const original_metadata = { test: "test" };
const new_metadata = { test: "test2" };
const collection3 = await chroma.createCollection({
name: original_name,
metadata: original_metadata
});
expect(collection3.name).toBe(original_name);
expect(collection3.metadata).toEqual(original_metadata);
await collection3.modify({ name: new_name });
expect(collection3.name).toBe(new_name);
expect(collection3.metadata).toEqual(original_metadata);
const collection4 = await chroma.getCollection({ name: new_name });
expect(collection4.name).toBe(new_name);
expect(collection4.metadata).toEqual(original_metadata);
await collection3.modify({ metadata: new_metadata });
expect(collection3.name).toBe(new_name);
expect(collection3.metadata).toEqual(new_metadata);
const collection5 = await chroma.getCollection({ name: new_name });
expect(collection5.name).toBe(new_name);
expect(collection5.metadata).toEqual(new_metadata);
});
test("it should store metadata", async () => {
await chroma.reset();
const collection = await chroma.createCollection({ name: "test", metadata: { test: "test" } });
expect(collection.metadata).toEqual({ test: "test" });
// get the collection
const collection2 = await chroma.getCollection({ name: "test" });
expect(collection2.metadata).toEqual({ test: "test" });
// get or create the collection
const collection3 = await chroma.getOrCreateCollection({ name: "test" });
expect(collection3.metadata).toEqual({ test: "test" });
// modify
await collection3.modify({ metadata: { test: "test2" } });
expect(collection3.metadata).toEqual({ test: "test2" });
// get it again
const collection4 = await chroma.getCollection({ name: "test" });
expect(collection4.metadata).toEqual({ test: "test2" });
});