@@ -16,7 +16,7 @@ describe('NewsletterFormElement web component', () => {
1616 let container : AstroContainer
1717 let newsletterElement : NewsletterFormElementInstance
1818 let windowInstance : Window
19- let NewsletterFormElementCtor : NewsletterClientModule [ 'NewsletterFormElement ' ] | undefined
19+ let registerNewsletterFormWebComponent : NewsletterClientModule [ 'registerNewsletterFormWebComponent ' ] | undefined
2020 let fetchMock : ReturnType < typeof vi . fn >
2121
2222 const defineGlobalProperty = ( key : string , value : unknown ) => {
@@ -56,7 +56,11 @@ describe('NewsletterFormElement web component', () => {
5656 beforeAll ( async ( ) => {
5757 windowInstance = new Window ( )
5858 applyWindowGlobals ( windowInstance )
59- ; ( { NewsletterFormElement : NewsletterFormElementCtor } = await import ( '@components/CallToAction/Newsletter/client' ) )
59+ const clientModule = await import ( '@components/CallToAction/Newsletter/client' )
60+ registerNewsletterFormWebComponent = clientModule . registerNewsletterFormWebComponent
61+ if ( ! registerNewsletterFormWebComponent ) {
62+ throw new Error ( 'registerNewsletterFormWebComponent is unavailable' )
63+ }
6064 } )
6165
6266 beforeEach ( async ( ) => {
@@ -67,23 +71,19 @@ describe('NewsletterFormElement web component', () => {
6771 const html = await container . renderToString ( NewsletterFixture )
6872 const domParser = new windowInstance . DOMParser ( )
6973 const doc = domParser . parseFromString ( html , 'text/html' )
74+
75+ if ( ! registerNewsletterFormWebComponent ) {
76+ throw new Error ( 'registerNewsletterFormWebComponent did not initialize' )
77+ }
78+
79+ registerNewsletterFormWebComponent ( )
7080 windowInstance . document . body . innerHTML = doc . body ?. innerHTML ?? ''
7181
7282 const root = windowInstance . document . querySelector ( 'newsletter-form' ) as NewsletterFormElementInstance | null
7383 if ( ! root ) {
7484 throw new Error ( 'Failed to locate <newsletter-form> in rendered fixture' )
7585 }
7686
77- if ( ! windowInstance . customElements . get ( 'newsletter-form' ) ) {
78- if ( ! NewsletterFormElementCtor ) {
79- throw new Error ( 'NewsletterFormElement failed to load before tests executed' )
80- }
81- windowInstance . customElements . define (
82- 'newsletter-form' ,
83- NewsletterFormElementCtor as unknown as CustomElementConstructor
84- )
85- }
86-
8787 newsletterElement = root
8888 newsletterElement . initialize ( )
8989 } )
0 commit comments