import { Factory } from "fishery"; import { faker } from "@faker-js/faker"; import { KNOWLEDGE_CONTENT_TYPES, KNOWLEDGE_DOCUMENT_STATUSES, KNOWLEDGE_FILE_TYPES, } from "../../../websitalk/knowledgeDocuments/knowledgeDocuments.constants"; import type { KnowledgeDocument } from "../../../websitalk/knowledgeDocuments/knowledgeDocuments.types"; export const knowledgeDocumentFactory = Factory.define( () => ({ clientId: faker.string.uuid(), filename: `${faker.system.fileName()}.pdf`, contentType: KNOWLEDGE_CONTENT_TYPES.PDF, fileType: KNOWLEDGE_FILE_TYPES.PDF, storagePath: `websitalk/knowledge_files/${faker.string.uuid()}/original.pdf`, byteSize: faker.number.int({ min: 1024, max: 5_000_000 }), status: KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING, progressPercent: 0, createdAt: new Date(), updatedAt: new Date(), }), ); export function createKnowledgeDocumentFixture( overrides?: Partial, ): KnowledgeDocument { return knowledgeDocumentFactory.build(overrides); }