diff --git a/test/workflows/iptrunk/test_terminate_iptrunk.py b/test/workflows/iptrunk/test_terminate_iptrunk.py
new file mode 100644
index 0000000000000000000000000000000000000000..2234f29f643d39268b483d742b8e3be4822f0dca
--- /dev/null
+++ b/test/workflows/iptrunk/test_terminate_iptrunk.py
@@ -0,0 +1,65 @@
+from unittest.mock import patch
+
+import pytest
+
+from gso.products import Iptrunk
+from test.workflows import (
+    assert_complete,
+    assert_suspended,
+    extract_state,
+    resume_workflow,
+    run_workflow,
+    user_accept_and_assert_suspended,
+)
+
+
+@pytest.mark.workflow
+@patch("gso.workflows.iptrunk.terminate_iptrunk.provisioning_proxy.provision_ip_trunk")
+@patch("gso.workflows.iptrunk.terminate_iptrunk.provisioning_proxy.deprovision_ip_trunk")
+@patch("gso.workflows.iptrunk.terminate_iptrunk.infoblox.delete_network")
+def test_iptrunk_modify_isis_metric_success(
+    mock_infoblox_delete_network,
+    mock_deprovision_ip_trunk,
+    mock_provision_ip_trunk,
+    iptrunk_subscription_factory,
+    faker,
+):
+    #  Set up mock return values
+    product_id = iptrunk_subscription_factory()
+
+    #  Run workflow
+    initial_iptrunk_data = [
+        {"subscription_id": product_id},
+        {"tt_number": faker.tt_number(), "remove_configuration": True, "clean_up_ipam": True},
+    ]
+    result, process_stat, step_log = run_workflow("terminate_iptrunk", initial_iptrunk_data)
+    assert_suspended(result)
+
+    lso_return = {
+        "pp_run_results": {
+            "status": "ok",
+            "job_id": faker.uuid4(),
+            "output": "parsed_output",
+            "return_code": 0,
+        },
+        "confirm": "ACCEPTED",
+    }
+
+    for _ in range(2):
+        result, step_log = user_accept_and_assert_suspended(process_stat, step_log, lso_return)
+        result, step_log = user_accept_and_assert_suspended(process_stat, step_log, [{}, {}])
+
+    result, step_log = user_accept_and_assert_suspended(process_stat, step_log, lso_return)
+    result, step_log = resume_workflow(process_stat, step_log, [{}, {}])
+
+    assert_complete(result)
+
+    state = extract_state(result)
+    subscription_id = state["subscription_id"]
+    subscription = Iptrunk.from_subscription(subscription_id)
+
+    assert "terminated" == subscription.status
+    assert mock_provision_ip_trunk.call_count == 1
+    assert mock_deprovision_ip_trunk.call_count == 2
+    assert mock_infoblox_delete_network.call_count == 2
+    assert subscription.iptrunk.iptrunk_isis_metric == 90000
diff --git a/tox.ini b/tox.ini
index a33adf5b1613231dd2fd5539f870f190b61c3a59..f79b0ea3fca0500ac30d3c9cd9f21a04d453b645 100644
--- a/tox.ini
+++ b/tox.ini
@@ -29,8 +29,7 @@ commands =
     mypy .
     flake8
     coverage erase
-    coverage run --source gso -m pytest {posargs}
+    coverage run --source gso --omit="gso/migrations/*" -m pytest {posargs}
     coverage xml
     coverage html
-    # coverage report --fail-under 80
-    coverage report
+    coverage report --fail-under 80