diff --git a/gso/products/__init__.py b/gso/products/__init__.py
index 88ea8b18f4fbd5a3fff48cc73aed87f95c383422..09d0333b61331fbd5de4d28ff57eb6afeceda72f 100644
--- a/gso/products/__init__.py
+++ b/gso/products/__init__.py
@@ -88,7 +88,7 @@ SUBSCRIPTION_MODEL_REGISTRY.update(
         ProductName.IMPORTED_OPENGEAR.value: ImportedOpengear,
         ProductName.EDGE_PORT.value: EdgePort,
         ProductName.IMPORTED_EDGE_PORT.value: ImportedEdgePort,
-        ProductType.GEANT_IP.value: GeantIP,
-        ProductType.IMPORTED_GEANT_IP.value: ImportedGeantIP,
+        ProductName.GEANT_IP.value: GeantIP,
+        ProductName.IMPORTED_GEANT_IP.value: ImportedGeantIP,
     },
 )
diff --git a/test/workflows/geant_ip/test_create_geant_ip.py b/test/workflows/geant_ip/test_create_geant_ip.py
index 2d0306604bab8c2020cc8537a743739869ed9d8c..90e237e9f1f5aabaaa8134acab9fd3a231bd42c6 100644
--- a/test/workflows/geant_ip/test_create_geant_ip.py
+++ b/test/workflows/geant_ip/test_create_geant_ip.py
@@ -1,9 +1,13 @@
+from unittest.mock import patch
+
 import pytest
+from orchestrator.types import SubscriptionLifecycle
 
 from gso.products import ProductName
+from gso.products.product_types.geant_ip import GeantIP
 from gso.services.subscriptions import get_product_id_by_name
 from gso.utils.shared_enums import APType
-from test.workflows import assert_complete, run_workflow
+from test.workflows import assert_complete, assert_lso_interaction_success, extract_state, run_workflow
 
 
 @pytest.fixture()
@@ -25,8 +29,15 @@ def base_bgp_peer_input(faker):
 
 
 @pytest.mark.workflow()
+@patch("gso.services.lso_client._send_request")
 def test_create_geant_ip_success(
-    responses, faker, partner_factory, edge_port_subscription_factory, base_bgp_peer_input
+    mock_lso_client,
+    responses,
+    faker,
+    partner_factory,
+    edge_port_subscription_factory,
+    base_bgp_peer_input,
+    data_config_filename,
 ):
     partner = partner_factory(name=faker.company(), email=faker.email())
     product_id = get_product_id_by_name(ProductName.GEANT_IP)
@@ -47,7 +58,20 @@ def test_create_geant_ip_success(
             "v6_bgp_peer": base_bgp_peer_input() | {"add_v6_multicast": faker.boolean(), "peer_address": faker.ipv6()},
         },
     ]
+    lso_interaction_count = 6
 
     result, process_stat, step_log = run_workflow("create_geant_ip", form_input_data)
-    assert process_stat, step_log
+
+    for _ in range(lso_interaction_count):
+        result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
+
     assert_complete(result)
+    state = extract_state(result)
+    subscription = GeantIP.from_subscription(state["subscription_id"])
+    assert mock_lso_client.call_count == lso_interaction_count
+    assert subscription.status == SubscriptionLifecycle.ACTIVE
+    assert len(subscription.geant_ip.geant_ip_ap_list) == 1
+    assert (
+        str(subscription.geant_ip.geant_ip_ap_list[0].geant_ip_sbp.edge_port.owner_subscription_id)
+        == form_input_data[2]["edge_ports"][0]["edge_port"]
+    )