@@ -118,7 +118,13 @@ vi.mock("../generators/generateCustomCursor", () => ({
118118} ) ) ;
119119
120120vi . mock ( "../visualBuilder.style" , ( ) => ( {
121- visualBuilderStyles : vi . fn ( ) . mockReturnValue ( { } ) ,
121+ visualBuilderStyles : vi . fn ( ) . mockReturnValue ( {
122+ "visual-builder__focused-toolbar--variant" : "visual-builder__focused-toolbar--variant"
123+ } ) ,
124+ } ) ) ;
125+
126+ vi . mock ( "../VariantIndicator" , ( ) => ( {
127+ VariantIndicator : ( ) => < div data-testid = "variant-indicator" > Variant</ div >
122128} ) ) ;
123129
124130vi . mock ( "../../utils/errorHandling" , ( ) => ( {
@@ -387,4 +393,78 @@ describe("FieldLabelWrapperComponent", () => {
387393 const contentTypeIcon = container . querySelector ( ".visual-builder__content-type-icon" ) ;
388394 expect ( contentTypeIcon ) . not . toBeInTheDocument ( ) ;
389395 } ) ;
396+
397+ test ( "renders VariantIndicator when field has variant" , async ( ) => {
398+ const variantFieldMetadata = {
399+ ...mockFieldMetadata ,
400+ variant : "variant-uid-123"
401+ } ;
402+
403+ const { findByTestId } = await asyncRender (
404+ < FieldLabelWrapperComponent
405+ fieldMetadata = { variantFieldMetadata }
406+ eventDetails = { mockEventDetails }
407+ parentPaths = { [ ] }
408+ getParentEditableElement = { mockGetParentEditable }
409+ />
410+ ) ;
411+
412+ const variantIndicator = await findByTestId ( "variant-indicator" ) ;
413+ expect ( variantIndicator ) . toBeInTheDocument ( ) ;
414+ } ) ;
415+
416+ test ( "does not render VariantIndicator when field has no variant" , async ( ) => {
417+ const { container } = await asyncRender (
418+ < FieldLabelWrapperComponent
419+ fieldMetadata = { mockFieldMetadata }
420+ eventDetails = { mockEventDetails }
421+ parentPaths = { [ ] }
422+ getParentEditableElement = { mockGetParentEditable }
423+ />
424+ ) ;
425+
426+ await waitFor ( ( ) => {
427+ const variantIndicator = container . querySelector ( "[data-testid='variant-indicator']" ) ;
428+ expect ( variantIndicator ) . not . toBeInTheDocument ( ) ;
429+ } ) ;
430+ } ) ;
431+
432+ test ( "applies variant CSS classes when field has variant" , async ( ) => {
433+ const variantFieldMetadata = {
434+ ...mockFieldMetadata ,
435+ variant : "variant-uid-123"
436+ } ;
437+
438+ const { findByTestId } = await asyncRender (
439+ < FieldLabelWrapperComponent
440+ fieldMetadata = { variantFieldMetadata }
441+ eventDetails = { mockEventDetails }
442+ parentPaths = { [ ] }
443+ getParentEditableElement = { mockGetParentEditable }
444+ />
445+ ) ;
446+
447+ const fieldLabelWrapper = await findByTestId ( "visual-builder__focused-toolbar__field-label-wrapper" ) ;
448+
449+ await waitFor ( ( ) => {
450+ expect ( fieldLabelWrapper ) . toHaveClass ( "visual-builder__focused-toolbar--variant" ) ;
451+ } ) ;
452+ } ) ;
453+
454+ test ( "does not apply variant CSS classes when field has no variant" , async ( ) => {
455+ const { findByTestId } = await asyncRender (
456+ < FieldLabelWrapperComponent
457+ fieldMetadata = { mockFieldMetadata }
458+ eventDetails = { mockEventDetails }
459+ parentPaths = { [ ] }
460+ getParentEditableElement = { mockGetParentEditable }
461+ />
462+ ) ;
463+
464+ const fieldLabelWrapper = await findByTestId ( "visual-builder__focused-toolbar__field-label-wrapper" ) ;
465+
466+ await waitFor ( ( ) => {
467+ expect ( fieldLabelWrapper ) . not . toHaveClass ( "visual-builder__focused-toolbar--variant" ) ;
468+ } ) ;
469+ } ) ;
390470} ) ;
0 commit comments