Firestore seed scripts, mock data generators, fixture files, and factory pattern for test entities
From jm-adknpx claudepluginhub javimontano/jm-adk-alfaThis skill uses the workspace's default tool permissions.
agents/guardian.mdagents/lead.mdagents/specialist.mdagents/support.mdevals/evals.jsonknowledge/body-of-knowledge.mdknowledge/knowledge-graph.mdprompts/meta.mdprompts/primary.mdprompts/variations/deep.mdprompts/variations/quick.mdtemplates/output.docx.mdtemplates/output.htmlProvide consistent, type-safe, and reproducible test data across unit, integration, and E2E tests. Eliminate ad-hoc data creation in test files through centralized factory functions and Firestore seed scripts. [EXPLICIT]
test/factories/ directory with one factory per Firestore collection. [EXPLICIT]build(overrides?) (plain object) and create(overrides?) (writes to emulator). [EXPLICIT]faker or @faker-js/faker for realistic random data with seeded RNG for reproducibility. [EXPLICIT]buildUser(overrides?: Partial<User>): User. [EXPLICIT]test/seeds/ with scenario-based seed files: seed-basic.ts, seed-full.ts. [EXPLICIT]ts-node test/seeds/seed-basic.ts — callable from CLI and CI. [EXPLICIT]test/fixtures/ for snapshot tests. [EXPLICIT]build() for plain objects, no Firestore writes. [EXPLICIT]create() to write to emulator, return document reference. [EXPLICIT]globalSetup. [EXPLICIT]| Input | Output |
|---|---|
| Firestore collection interface | Factory function with typed defaults |
| Test scenario description | Seed script populating emulator |
| Override parameters | Custom test entity matching interface |
| Seed execution | Firestore emulator populated with consistent data |
as any casts. [EXPLICIT]faker.seed(12345) ensures reproducible data across runs. [EXPLICIT]describe blocks. [EXPLICIT]create() writes parent then children in sequence.Timestamp.fromDate(new Date('2025-01-01')) — never Timestamp.now().Example invocations:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.