fix: add tests

This commit is contained in:
David Nguyen
2025-11-03 20:17:52 +11:00
parent 4a0425b120
commit c10c95ca00
10 changed files with 456 additions and 79 deletions

View File

@ -10,10 +10,12 @@ import { authenticatedProcedure } from '../trpc';
import {
ZCreateDocumentRequestSchema,
ZCreateDocumentResponseSchema,
createDocumentMeta,
} from './create-document.types';
export const createDocumentRoute = authenticatedProcedure
.input(ZCreateDocumentRequestSchema) // Note: Before releasing this to public, update the response schema to be correct.
.meta(createDocumentMeta)
.input(ZCreateDocumentRequestSchema)
.output(ZCreateDocumentResponseSchema)
.mutation(async ({ input, ctx }) => {
const { user, teamId } = ctx;
@ -62,6 +64,6 @@ export const createDocumentRoute = authenticatedProcedure
return {
envelopeId: document.id,
legacyDocumentId: mapSecondaryIdToDocumentId(document.secondaryId),
id: mapSecondaryIdToDocumentId(document.secondaryId),
};
});

View File

@ -8,7 +8,6 @@ import { zodFormData } from '../../utils/zod-form-data';
import type { TrpcRouteMeta } from '../trpc';
import { ZDocumentTitleSchema } from './schema';
// Currently not in use until we allow passthrough documents on create.
export const createDocumentMeta: TrpcRouteMeta = {
openapi: {
method: 'POST',
@ -42,7 +41,7 @@ export const ZCreateDocumentRequestSchema = zodFormData({
export const ZCreateDocumentResponseSchema = z.object({
envelopeId: z.string(),
legacyDocumentId: z.number(),
id: z.number(),
});
export type TCreateDocumentPayloadSchema = z.infer<typeof ZCreateDocumentPayloadSchema>;

View File

@ -10,15 +10,14 @@ import {
} from './create-envelope.types';
export const createEnvelopeRoute = authenticatedProcedure
// Todo: Envelopes - Pending direct uploads
// .meta({
// openapi: {
// method: 'POST',
// path: '/envelope/create',
// summary: 'Create envelope',
// tags: ['Envelope'],
// },
// })
.meta({
openapi: {
method: 'POST',
path: '/envelope/create',
summary: 'Create envelope',
tags: ['Envelope'],
},
})
.input(ZCreateEnvelopeRequestSchema)
.output(ZCreateEnvelopeResponseSchema)
.mutation(async ({ input, ctx }) => {
@ -33,6 +32,7 @@ export const createEnvelopeRoute = authenticatedProcedure
visibility,
globalAccessAuth,
globalActionAuth,
formValues,
recipients,
folderId,
meta,
@ -121,6 +121,7 @@ export const createEnvelopeRoute = authenticatedProcedure
type,
title,
externalId,
formValues,
visibility,
globalAccessAuth,
globalActionAuth,
@ -130,7 +131,6 @@ export const createEnvelopeRoute = authenticatedProcedure
},
attachments,
meta,
normalizePdf: true,
requestMetadata: ctx.metadata,
});

View File

@ -10,11 +10,11 @@ import { ZDocumentFormValuesSchema } from '@documenso/lib/types/document-form-va
import { ZDocumentMetaCreateSchema } from '@documenso/lib/types/document-meta';
import { ZEnvelopeAttachmentTypeSchema } from '@documenso/lib/types/envelope-attachment';
import {
ZFieldHeightSchema,
ZClampedFieldHeightSchema,
ZClampedFieldPositionXSchema,
ZClampedFieldPositionYSchema,
ZClampedFieldWidthSchema,
ZFieldPageNumberSchema,
ZFieldPageXSchema,
ZFieldPageYSchema,
ZFieldWidthSchema,
} from '@documenso/lib/types/field';
import { ZFieldAndMetaSchema } from '@documenso/lib/types/field-meta';
@ -65,10 +65,10 @@ export const ZCreateEnvelopePayloadSchema = z.object({
)
.optional(),
page: ZFieldPageNumberSchema,
positionX: ZFieldPageXSchema,
positionY: ZFieldPageYSchema,
width: ZFieldWidthSchema,
height: ZFieldHeightSchema,
positionX: ZClampedFieldPositionXSchema,
positionY: ZClampedFieldPositionYSchema,
width: ZClampedFieldWidthSchema,
height: ZClampedFieldHeightSchema,
}),
)
.array()

View File

@ -28,8 +28,8 @@ export const ZCreateRecipientSchema = z.object({
name: z.string().max(255),
role: z.nativeEnum(RecipientRole),
signingOrder: z.number().optional(),
accessAuth: z.array(ZRecipientAccessAuthTypesSchema).optional().default([]),
actionAuth: z.array(ZRecipientActionAuthTypesSchema).optional().default([]),
accessAuth: z.array(ZRecipientAccessAuthTypesSchema).default([]).optional(),
actionAuth: z.array(ZRecipientActionAuthTypesSchema).default([]).optional(),
});
export const ZUpdateRecipientSchema = z.object({
@ -38,8 +38,8 @@ export const ZUpdateRecipientSchema = z.object({
name: z.string().max(255).optional(),
role: z.nativeEnum(RecipientRole).optional(),
signingOrder: z.number().optional(),
accessAuth: z.array(ZRecipientAccessAuthTypesSchema).optional().default([]),
actionAuth: z.array(ZRecipientActionAuthTypesSchema).optional().default([]),
accessAuth: z.array(ZRecipientAccessAuthTypesSchema).default([]).optional(),
actionAuth: z.array(ZRecipientActionAuthTypesSchema).default([]).optional(),
});
export const ZCreateDocumentRecipientRequestSchema = z.object({

View File

@ -161,7 +161,6 @@ export const templateRouter = router({
*/
createTemplate: authenticatedProcedure
.meta({
// Note before releasing this to public, update the response schema to be correct.
openapi: {
method: 'POST',
path: '/template/create',
@ -207,7 +206,7 @@ export const templateRouter = router({
return {
envelopeId: envelope.id,
legacyTemplateId: mapSecondaryIdToTemplateId(envelope.secondaryId),
id: mapSecondaryIdToTemplateId(envelope.secondaryId),
};
}),

View File

@ -231,7 +231,7 @@ export const ZCreateTemplateV2ResponseSchema = z.object({
export const ZCreateTemplateResponseSchema = z.object({
envelopeId: z.string(),
legacyTemplateId: z.number(),
id: z.number(),
});
export const ZUpdateTemplateRequestSchema = z.object({