Spaces:
Running
Running
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" }); | |
}); | |