@@ -551,6 +551,85 @@ def test_no_other_tool_sections(
551551 expect (mcp_rows ).not_to_be_visible ()
552552
553553
554+ class TestImageGenerationTool :
555+ """Tests for image_generation tool conditional rendering."""
556+
557+ def test_image_generation_checkbox_visible (
558+ self , page : Page , base_url : str , app_server , env_api_key_no_tools
559+ ):
560+ """Image generation checkbox should be visible in the tools fieldset."""
561+ page .goto (f"{ base_url } /setup/" )
562+
563+ image_gen_cb = page .locator ('input[value="image_generation"]' )
564+ expect (image_gen_cb ).to_be_visible ()
565+
566+ def test_image_generation_checkbox_checked_when_enabled (
567+ self , page : Page , base_url : str , app_server , env_image_generation_only
568+ ):
569+ """The image_generation checkbox should be checked when enabled."""
570+ page .goto (f"{ base_url } /setup/" )
571+
572+ image_gen_cb = page .locator ('input[value="image_generation"]' )
573+ expect (image_gen_cb ).to_be_checked ()
574+
575+ def test_shows_image_generation_config_section (
576+ self , page : Page , base_url : str , app_server , env_image_generation_only
577+ ):
578+ """When image_generation is enabled, the config section should be visible."""
579+ page .goto (f"{ base_url } /setup/" )
580+
581+ heading = page .locator ('h3:has-text("Image Generation")' )
582+ expect (heading ).to_be_visible ()
583+
584+ quality = page .locator ("#image-gen-quality" )
585+ expect (quality ).to_be_visible ()
586+
587+ size = page .locator ("#image-gen-size" )
588+ expect (size ).to_be_visible ()
589+
590+ background = page .locator ("#image-gen-background" )
591+ expect (background ).to_be_visible ()
592+
593+ def test_hides_image_generation_config_when_not_enabled (
594+ self , page : Page , base_url : str , app_server , env_api_key_no_tools
595+ ):
596+ """Image generation config section should NOT be visible when not enabled."""
597+ page .goto (f"{ base_url } /setup/" )
598+
599+ quality = page .locator ("#image-gen-quality" )
600+ expect (quality ).not_to_be_visible ()
601+
602+ def test_populates_saved_config_values (
603+ self , page : Page , base_url : str , app_server , env_image_generation_with_config
604+ ):
605+ """Saved image generation config values should be populated in the form."""
606+ page .goto (f"{ base_url } /setup/" )
607+
608+ quality = page .locator ("#image-gen-quality" )
609+ expect (quality ).to_have_value ("high" )
610+
611+ size = page .locator ("#image-gen-size" )
612+ expect (size ).to_have_value ("1024x1536" )
613+
614+ background = page .locator ("#image-gen-background" )
615+ expect (background ).to_have_value ("transparent" )
616+
617+ def test_no_other_tool_sections (
618+ self , page : Page , base_url : str , app_server , env_image_generation_only
619+ ):
620+ """File search, function, and MCP sections should NOT be visible."""
621+ page .goto (f"{ base_url } /setup/" )
622+
623+ upload_form = page .locator ("#upload-form" )
624+ expect (upload_form ).not_to_be_visible ()
625+
626+ registry_rows = page .locator ("#registry-rows" )
627+ expect (registry_rows ).not_to_be_visible ()
628+
629+ mcp_rows = page .locator ("#mcp-rows" )
630+ expect (mcp_rows ).not_to_be_visible ()
631+
632+
554633class TestAllToolsEnabled :
555634 """Tests for when all three conditional tools are enabled."""
556635
@@ -585,6 +664,15 @@ def test_shows_web_search_config(
585664 context_size = page .locator ("#web-search-context-size" )
586665 expect (context_size ).to_be_visible ()
587666
667+ def test_shows_image_generation_config (
668+ self , page : Page , base_url : str , app_server , env_all_tools
669+ ):
670+ """Image generation config section should be visible when all tools enabled."""
671+ page .goto (f"{ base_url } /setup/" )
672+
673+ quality = page .locator ("#image-gen-quality" )
674+ expect (quality ).to_be_visible ()
675+
588676 def test_no_computer_use_config (
589677 self , page : Page , base_url : str , app_server , env_all_tools
590678 ):
@@ -614,3 +702,6 @@ def test_all_tool_checkboxes_checked(
614702
615703 computer_use_cb = page .locator ('input[value="computer_use"]' )
616704 expect (computer_use_cb ).to_be_checked ()
705+
706+ image_gen_cb = page .locator ('input[value="image_generation"]' )
707+ expect (image_gen_cb ).to_be_checked ()
0 commit comments