aboutsummaryrefslogtreecommitdiff
path: root/packages/db/test/fixtures/integration-only/integration
diff options
context:
space:
mode:
Diffstat (limited to 'packages/db/test/fixtures/integration-only/integration')
-rw-r--r--packages/db/test/fixtures/integration-only/integration/config.ts8
-rw-r--r--packages/db/test/fixtures/integration-only/integration/index.ts15
-rw-r--r--packages/db/test/fixtures/integration-only/integration/seed.ts14
-rw-r--r--packages/db/test/fixtures/integration-only/integration/shared.ts9
4 files changed, 46 insertions, 0 deletions
diff --git a/packages/db/test/fixtures/integration-only/integration/config.ts b/packages/db/test/fixtures/integration-only/integration/config.ts
new file mode 100644
index 000000000..71490be95
--- /dev/null
+++ b/packages/db/test/fixtures/integration-only/integration/config.ts
@@ -0,0 +1,8 @@
+import { defineDb } from 'astro:db';
+import { menu } from './shared';
+
+export default defineDb({
+ tables: {
+ menu,
+ },
+});
diff --git a/packages/db/test/fixtures/integration-only/integration/index.ts b/packages/db/test/fixtures/integration-only/integration/index.ts
new file mode 100644
index 000000000..b249cc253
--- /dev/null
+++ b/packages/db/test/fixtures/integration-only/integration/index.ts
@@ -0,0 +1,15 @@
+import { defineDbIntegration } from '@astrojs/db/utils';
+
+export default function testIntegration() {
+ return defineDbIntegration({
+ name: 'db-test-integration',
+ hooks: {
+ 'astro:db:setup'({ extendDb }) {
+ extendDb({
+ configEntrypoint: './integration/config.ts',
+ seedEntrypoint: './integration/seed.ts',
+ });
+ },
+ },
+ });
+}
diff --git a/packages/db/test/fixtures/integration-only/integration/seed.ts b/packages/db/test/fixtures/integration-only/integration/seed.ts
new file mode 100644
index 000000000..ed2b2e2eb
--- /dev/null
+++ b/packages/db/test/fixtures/integration-only/integration/seed.ts
@@ -0,0 +1,14 @@
+import { db } from 'astro:db';
+import { asDrizzleTable } from '@astrojs/db/utils';
+import { menu } from './shared';
+
+export default async function () {
+ const table = asDrizzleTable('menu', menu);
+
+ await db.insert(table).values([
+ { name: 'Pancakes', price: 9.5, type: 'Breakfast' },
+ { name: 'French Toast', price: 11.25, type: 'Breakfast' },
+ { name: 'Coffee', price: 3, type: 'Beverages' },
+ { name: 'Cappuccino', price: 4.5, type: 'Beverages' },
+ ]);
+}
diff --git a/packages/db/test/fixtures/integration-only/integration/shared.ts b/packages/db/test/fixtures/integration-only/integration/shared.ts
new file mode 100644
index 000000000..d46ae65a6
--- /dev/null
+++ b/packages/db/test/fixtures/integration-only/integration/shared.ts
@@ -0,0 +1,9 @@
+import { column, defineTable } from 'astro:db';
+
+export const menu = defineTable({
+ columns: {
+ name: column.text(),
+ type: column.text(),
+ price: column.number(),
+ },
+});