@@ -62,6 +62,21 @@ describe("schema", () => {
6262 const data = [ { userId : "u1" , fileName : "doc" , typeOfFile : "PDF" , markdown : "text" , variables : { lang : 42 } } ] ;
6363 expect ( schema . safeParse ( data ) . success ) . toBe ( false ) ;
6464 } ) ;
65+
66+ it ( "validates a request with template \"default\"" , ( ) => {
67+ const data = [ { userId : "u1" , fileName : "doc" , typeOfFile : "PDF" , markdown : "text" , template : "default" } ] ;
68+ expect ( schema . safeParse ( data ) . success ) . toBe ( true ) ;
69+ } ) ;
70+
71+ it ( "validates a request with template \"cjk\"" , ( ) => {
72+ const data = [ { userId : "u1" , fileName : "doc" , typeOfFile : "PDF" , markdown : "text" , template : "cjk" } ] ;
73+ expect ( schema . safeParse ( data ) . success ) . toBe ( true ) ;
74+ } ) ;
75+
76+ it ( "rejects an unknown template value" , ( ) => {
77+ const data = [ { userId : "u1" , fileName : "doc" , typeOfFile : "PDF" , markdown : "text" , template : "korean" } ] ;
78+ expect ( schema . safeParse ( data ) . success ) . toBe ( false ) ;
79+ } ) ;
6580} ) ;
6681
6782describe ( "handler" , ( ) => {
@@ -117,6 +132,28 @@ describe("handler", () => {
117132 expect ( calledArgs ) . toContain ( "--variable=CJKmainfont:Noto Sans CJK KR" ) ;
118133 } ) ;
119134
135+ it ( "uses the default template when template is omitted" , async ( ) => {
136+ const executeMock = vi . fn ( ) . mockResolvedValue ( "" ) ;
137+ vi . mocked ( PdcTs ) . mockImplementationOnce ( ( ) => ( { Execute : executeMock } ) as any ) ;
138+
139+ const event = [ { userId : "user1" , fileName : "test-doc" , typeOfFile : "TEX" , markdown : "# Hello" } ] ;
140+ await handler ( event as any ) ;
141+
142+ const calledArgs : string [ ] = executeMock . mock . calls [ 0 ] ?. [ 0 ] ?. pandocArgs ?? [ ] ;
143+ expect ( calledArgs ) . toContain ( "--template=./templates/default.latex" ) ;
144+ } ) ;
145+
146+ it ( "uses the cjk template when template is \"cjk\"" , async ( ) => {
147+ const executeMock = vi . fn ( ) . mockResolvedValue ( "" ) ;
148+ vi . mocked ( PdcTs ) . mockImplementationOnce ( ( ) => ( { Execute : executeMock } ) as any ) ;
149+
150+ const event = [ { userId : "user1" , fileName : "test-doc" , typeOfFile : "TEX" , markdown : "# Hello" , template : "cjk" } ] ;
151+ await handler ( event as any ) ;
152+
153+ const calledArgs : string [ ] = executeMock . mock . calls [ 0 ] ?. [ 0 ] ?. pandocArgs ?? [ ] ;
154+ expect ( calledArgs ) . toContain ( "--template=./templates/cjk.latex" ) ;
155+ } ) ;
156+
120157 it ( "returns 500 when Pandoc execution fails" , async ( ) => {
121158 vi . mocked ( PdcTs ) . mockImplementationOnce ( ( ) => ( {
122159 Execute : vi . fn ( )
0 commit comments