@@ -141,6 +141,46 @@ describe('CustomizeCTA', () => {
141141 expect ( decorativeIcon ) . toBeTruthy ( ) ;
142142 } ) ;
143143 } ) ;
144+ describe ( 'responsive rendering' , ( ) => {
145+ it ( 'uses responsive flex layout classes' , ( ) => {
146+ const { container } = render ( < CustomizeCTA /> ) ;
147+
148+ const layoutContainer = container . querySelector ( '.flex.flex-col.md\\:flex-row' ) ;
149+
150+ expect ( layoutContainer ) . toBeTruthy ( ) ;
151+ } ) ;
152+
153+ it ( 'uses responsive text alignment classes' , ( ) => {
154+ const { container } = render ( < CustomizeCTA /> ) ;
155+
156+ const contentContainer = container . querySelector ( '.text-center.md\\:text-left' ) ;
157+
158+ expect ( contentContainer ) . toBeTruthy ( ) ;
159+ } ) ;
160+
161+ it ( 'uses responsive heading sizing classes' , ( ) => {
162+ render ( < CustomizeCTA /> ) ;
163+
164+ const heading = screen . getByRole ( 'heading' , {
165+ level : 2 ,
166+ name : 'Want to fine-tune your monolith?' ,
167+ } ) ;
168+
169+ expect ( heading . className ) . toContain ( 'text-2xl' ) ;
170+ expect ( heading . className ) . toContain ( 'md:text-3xl' ) ;
171+ } ) ;
172+
173+ it ( 'uses responsive button padding classes' , ( ) => {
174+ render ( < CustomizeCTA /> ) ;
175+
176+ const link = screen . getByRole ( 'link' ) ;
177+
178+ const button = link . querySelector ( 'span' ) ;
179+
180+ expect ( button ?. className ) . toContain ( 'px-4' ) ;
181+ expect ( button ?. className ) . toContain ( 'md:px-7' ) ;
182+ } ) ;
183+ } ) ;
144184
145185 describe ( 'responsive breakpoints' , ( ) => {
146186 it ( 'renders all layout structure elements across viewports' , ( ) => {
0 commit comments