diff --git a/src/models/fixtures/projectFixture.ts b/src/models/fixtures/projectFixture.ts
index 06868af6d5692a22d0e0e5d733508cf56357d781..f228879defbd3933931013a7df3df918f342e40e 100644
--- a/src/models/fixtures/projectFixture.ts
+++ b/src/models/fixtures/projectFixture.ts
@@ -1,9 +1,22 @@
 import { ZOD_SEED } from '@/constants';
 // eslint-disable-next-line import/no-extraneous-dependencies
-import { createFixture } from 'zod-fixture';
+import { Fixture } from 'zod-fixture';
+import { diseaseNameGenerator } from '@/models/generators/diseaseNameGenerator';
+import { diseaseGenerator } from '@/models/generators/diseaseGenerator';
+import { organismGenerator } from '@/models/generators/organismGenerator';
+import { organismNameGenerator } from '@/models/generators/organismNameGenerator';
+import { topOverviewImageGenerator } from '@/models/generators/topOverviewImageGenerator';
 import { projectSchema } from '../projectSchema';
 
-export const projectFixture = createFixture(projectSchema, {
+const projectFixtureGenerator = new Fixture({ seed: ZOD_SEED }).extend([
+  diseaseNameGenerator,
+  diseaseGenerator,
+  organismNameGenerator,
+  organismGenerator,
+  topOverviewImageGenerator,
+]);
+
+export const projectFixture = projectFixtureGenerator.fromSchema(projectSchema, {
   seed: ZOD_SEED,
   array: { min: 1, max: 1 },
 });
diff --git a/src/models/generators/diseaseGenerator.ts b/src/models/generators/diseaseGenerator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1e8ae525f101fe84da27ec49f665e0481af429aa
--- /dev/null
+++ b/src/models/generators/diseaseGenerator.ts
@@ -0,0 +1,18 @@
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { createFixture, Generator } from 'zod-fixture';
+import { disease } from '@/models/disease';
+import { ZOD_SEED } from '@/constants';
+import { ZodNullable } from 'zod';
+
+export const diseaseGenerator = Generator({
+  schema: ZodNullable,
+  filter: ({ context }) => {
+    // eslint-disable-next-line no-magic-numbers
+    return context.path.at(-1) === 'disease';
+  },
+  output: () =>
+    createFixture(disease, {
+      seed: ZOD_SEED,
+      array: { min: 2, max: 2 },
+    }),
+});
diff --git a/src/models/generators/diseaseNameGenerator.ts b/src/models/generators/diseaseNameGenerator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..427c74b810e0b03f51711bd63c5dc25c1dbc5b3a
--- /dev/null
+++ b/src/models/generators/diseaseNameGenerator.ts
@@ -0,0 +1,10 @@
+import { ZodNullable, ZodString } from 'zod';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { Generator } from 'zod-fixture';
+
+export const diseaseNameGenerator = Generator({
+  schema: ZodNullable<ZodString>,
+  // eslint-disable-next-line no-magic-numbers
+  filter: ({ context }) => context.path.at(-1) === 'diseaseName',
+  output: ({ transform }) => transform.utils.random.string({}),
+});
diff --git a/src/models/generators/organismGenerator.ts b/src/models/generators/organismGenerator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ae654656ca5554f2364c9e6fb8b46bdd3a919bdc
--- /dev/null
+++ b/src/models/generators/organismGenerator.ts
@@ -0,0 +1,16 @@
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { createFixture, Generator } from 'zod-fixture';
+import { ZOD_SEED } from '@/constants';
+import { ZodNullable } from 'zod';
+import { organism } from '@/models/organism';
+
+export const organismGenerator = Generator({
+  schema: ZodNullable,
+  // eslint-disable-next-line no-magic-numbers
+  filter: ({ context }) => context.path.at(-1) === 'organism',
+  output: () =>
+    createFixture(organism, {
+      seed: ZOD_SEED,
+      array: { min: 2, max: 2 },
+    }),
+});
diff --git a/src/models/generators/organismNameGenerator.ts b/src/models/generators/organismNameGenerator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..25bd5c0fa491a874a4d08e471cfc5ae033ee35a9
--- /dev/null
+++ b/src/models/generators/organismNameGenerator.ts
@@ -0,0 +1,10 @@
+import { ZodNullable, ZodString } from 'zod';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { Generator } from 'zod-fixture';
+
+export const organismNameGenerator = Generator({
+  schema: ZodNullable<ZodString>,
+  // eslint-disable-next-line no-magic-numbers
+  filter: ({ context }) => context.path.at(-1) === 'organismName',
+  output: ({ transform }) => transform.utils.random.string({}),
+});
diff --git a/src/models/generators/topOverviewImageGenerator.ts b/src/models/generators/topOverviewImageGenerator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..fbdb047cac3cfa0de0a97e74e77b6a821ecbbbca
--- /dev/null
+++ b/src/models/generators/topOverviewImageGenerator.ts
@@ -0,0 +1,16 @@
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { createFixture, Generator } from 'zod-fixture';
+import { ZOD_SEED } from '@/constants';
+import { ZodNullable } from 'zod';
+import { overviewImageView } from '@/models/overviewImageView';
+
+export const topOverviewImageGenerator = Generator({
+  schema: ZodNullable,
+  // eslint-disable-next-line no-magic-numbers
+  filter: ({ context }) => context.path.at(-1) === 'topOverviewImage',
+  output: () =>
+    createFixture(overviewImageView, {
+      seed: ZOD_SEED,
+      array: { min: 2, max: 2 },
+    }),
+});