testing setup
This commit is contained in:
@@ -43,14 +43,13 @@ export function trpcCrudRouterFromDrizzleEntity<T extends SchemaKeys<Schema>>(ta
|
||||
)
|
||||
}
|
||||
const { input } = opts;
|
||||
console.log(input)
|
||||
if (input === undefined) {
|
||||
throw new TRPCError({ message: "no update input", code: "BAD_REQUEST" })
|
||||
}
|
||||
if (!isKeyOf('id',input) || !isKeyOf('id',schema[table])) {
|
||||
if (!isKeyOf('id', input) || !isKeyOf('id', schema[table])) {
|
||||
throw new TRPCError({ message: "no id provided", code: "BAD_REQUEST" })
|
||||
}
|
||||
return await db.update(schema[table]).set(input).where(eq(schema[table]['id'],input['id'])).returning().execute();
|
||||
return await db.update(schema[table]).set(input).where(eq(schema[table]['id'], input['id'])).returning().execute();
|
||||
}),
|
||||
insert: publicProcedure.input(schemas.insert).mutation(async (opts) => {
|
||||
let admin = await isAdmin();
|
||||
|
||||
19
src/server/routers/_app.server.test.ts
Normal file
19
src/server/routers/_app.server.test.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import type { QueryProcedure } from '@trpc/server/unstable-core-do-not-import';
|
||||
import type { Entries } from 'type-fest';
|
||||
import { assertType, expect, test } from 'vitest'
|
||||
import { trpcRouter } from '~/server/routers/_app';
|
||||
|
||||
const routerEntries = Object.entries(trpcRouter) as Entries<typeof trpcRouter>
|
||||
routerEntries.forEach(([key, value]) => {
|
||||
switch (key) {
|
||||
case '_def': break;
|
||||
case 'createCaller': break;
|
||||
default:
|
||||
test.concurrent(`default router ${key}`, async ({ annotate }) => {
|
||||
expect(value.select).toBeInstanceOf(Function)
|
||||
expect(value.update).toBeInstanceOf(Function)
|
||||
expect(value.delete).toBeInstanceOf(Function)
|
||||
expect(value.insert).toBeInstanceOf(Function)
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -8,7 +8,6 @@ const { router : project } = trpcCrudRouterFromDrizzleEntity('project')
|
||||
const { router : techStack } = trpcCrudRouterFromDrizzleEntity('techStack')
|
||||
const { router : category } = trpcCrudRouterFromDrizzleEntity('cvCategory')
|
||||
const { router : entry } = trpcCrudRouterFromDrizzleEntity('cvEntry')
|
||||
const root = {}
|
||||
export const trpcRouter = router({
|
||||
project: project,
|
||||
techStack: techStack,
|
||||
|
||||
Reference in New Issue
Block a user