diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py
index 10a87d1253033f7964bb7482db18e6498586d059..c2428cbff52bd3e2161b9902ffe73e5d83ecd4e4 100644
--- a/test/workflows/iptrunk/test_create_iptrunk.py
+++ b/test/workflows/iptrunk/test_create_iptrunk.py
@@ -5,6 +5,7 @@ import pytest
 
 from gso.products import Iptrunk, ProductType
 from gso.products.product_blocks.iptrunk import IptrunkType, PhyPortCapacity
+from gso.products.product_blocks.router import RouterVendor
 from gso.services.crm import customer_selector, get_customer_by_name
 from gso.services.subscriptions import get_product_id_by_name
 from gso.utils.helpers import LAGMember
@@ -42,9 +43,19 @@ def netbox_client_mock():
 
 
 @pytest.fixture
-def input_form_wizard_data(router_subscription_factory, faker):
-    router_side_a = router_subscription_factory()
-    router_side_b = router_subscription_factory()
+def input_form_wizard_data(request, router_subscription_factory, faker):
+    vendor = getattr(request, 'param', RouterVendor.NOKIA)
+    router_side_a = router_subscription_factory(router_vendor=vendor)
+    router_side_b = router_subscription_factory(router_vendor=vendor)
+    interface_members = None
+
+    if vendor == RouterVendor.JUNIPER:
+        interface_members = ["et-1/0/0", "xe-1/0/0"]
+    else:
+        interface_members = [
+            LAGMember(interface_name=f"Interface{interface}", interface_description=faker.sentence())
+            for interface in range(5)
+        ]
 
     create_ip_trunk_step = {
         "tt_number": faker.tt_number(),
@@ -59,10 +70,7 @@ def input_form_wizard_data(router_subscription_factory, faker):
     create_ip_trunk_side_a_step = {
         "side_a_ae_iface": "LAG1",
         "side_a_ae_geant_a_sid": faker.geant_sid(),
-        "side_a_ae_members": [
-            LAGMember(interface_name=f"Interface{interface}", interface_description=faker.sentence())
-            for interface in range(5)
-        ],
+        "side_a_ae_members": interface_members,
     }
     create_ip_trunk_side_b_router_name = {"side_b_node_id": router_side_b}
     create_ip_trunk_side_b_step = {
@@ -150,3 +158,33 @@ def test_iptrunk_creation_fails_when_lso_return_code_is_one(
     assert_pp_interaction_failure(result, process_stat, step_log)
 
     assert mock_check_ip_trunk.call_count == 0
+
+
+@pytest.mark.workflow
+@pytest.mark.parametrize("input_form_wizard_data", [RouterVendor.JUNIPER], indirect=True)
+@patch("gso.workflows.iptrunk.create_iptrunk.provisioning_proxy.check_ip_trunk")
+@patch("gso.workflows.iptrunk.create_iptrunk.provisioning_proxy.provision_ip_trunk")
+@patch("gso.workflows.iptrunk.create_iptrunk.infoblox.allocate_v6_network")
+@patch("gso.workflows.iptrunk.create_iptrunk.infoblox.allocate_v4_network")
+def test_successful_iptrunk_creation_with_juniper_interface_names(
+    mock_allocate_v4_network,
+    mock_allocate_v6_network,
+    mock_provision_ip_trunk,
+    mock_check_ip_trunk,
+    responses,
+    input_form_wizard_data,
+    faker,
+    data_config_filename: PathLike,
+    netbox_client_mock,
+    test_client,
+):
+    mock_allocate_v4_network.return_value = faker.ipv4_network()
+    mock_allocate_v6_network.return_value = faker.ipv6_network()
+    product_id = get_product_id_by_name(ProductType.IP_TRUNK)
+    initial_site_data = [{"product": product_id}, *input_form_wizard_data]
+    result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
+
+    for _ in range(6):
+        result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
+
+    assert_complete(result)