@@ -6,7 +6,11 @@ import contactMessageTemplateContent from '../../../contact/email/message.mjml?r
66import exampleTemplateContent from '../__fixtures__/example.mjml?raw'
77import invalidTemplateContent from '../__fixtures__/invalid.mjml?raw'
88import withCommonDataTemplateContent from '../__fixtures__/with-common-data.mjml?raw'
9- import { compileEmailTemplate , createEmailTemplate } from '../templateCompiler'
9+ import {
10+ compileEmailTemplate ,
11+ createEmailTemplate ,
12+ createImportedEmailTemplate ,
13+ } from '../templateCompiler'
1014
1115const exampleTemplate = createEmailTemplate (
1216 new URL ( '../__fixtures__/example.mjml' , import . meta. url ) ,
@@ -28,6 +32,11 @@ const withCommonDataTemplate = createEmailTemplate(
2832 withCommonDataTemplateContent
2933)
3034
35+ const importedExampleTemplate = createImportedEmailTemplate (
36+ 'src/actions/utils/email/__fixtures__/example.mjml' ,
37+ exampleTemplateContent
38+ )
39+
3140describe ( 'compileEmailTemplate' , ( ) => {
3241 it ( 'compiles the moved contact message template from its imported source' , async ( ) => {
3342 const result = await compileEmailTemplate ( contactMessageTemplate , {
@@ -90,6 +99,18 @@ describe('compileEmailTemplate', () => {
9099 expect ( result . text ) . toContain ( 'Contact Webstack Builders at support@webstackbuilders.com.' )
91100 } )
92101
102+ it ( 'compiles imported template content from a stable source path' , async ( ) => {
103+ const result = await compileEmailTemplate ( importedExampleTemplate , {
104+ htmlMessage : '<strong>Urgent</strong> message body' ,
105+ items : [ 'Coffee Beans' ] ,
106+ name : 'Alex' ,
107+ } )
108+
109+ expect ( result . html ) . toContain ( 'Hello, Alex!' )
110+ expect ( result . html ) . toContain ( 'Coffee Beans' )
111+ expect ( result . text ) . toContain ( 'Urgent message body' )
112+ } )
113+
93114 it ( 'throws ActionsFunctionError when MJML compilation reports errors' , async ( ) => {
94115 await expect ( compileEmailTemplate ( invalidTemplate ) ) . rejects . toMatchObject ( {
95116 appCode : 'EMAIL_TEMPLATE_COMPILE_FAILED' ,
0 commit comments