diff --git a/test/workflows/router/test_activate_router.py b/test/workflows/router/test_activate_router.py
new file mode 100644
index 0000000000000000000000000000000000000000..36aecae9052c76f238ec0943c0f2ff34ded03e57
--- /dev/null
+++ b/test/workflows/router/test_activate_router.py
@@ -0,0 +1,31 @@
+import pytest
+
+from gso.products import Router
+from test.workflows import (
+    assert_complete,
+    extract_state,
+    run_workflow,
+)
+
+
+@pytest.mark.workflow()
+def test_activate_router_success(
+    nokia_router_subscription_factory,
+    faker,
+):
+    #  Set up mock return values
+    product_id = nokia_router_subscription_factory(status="provisioning")
+    #  Sanity check
+    assert Router.from_subscription(product_id).status == "provisioning"
+
+    #  Run workflow
+    initial_input_data = [{"subscription_id": product_id}, {"tt_number": faker.tt_number()}]
+    result, _, _ = run_workflow("activate_router", initial_input_data)
+
+    assert_complete(result)
+
+    state = extract_state(result)
+    subscription_id = state["subscription_id"]
+    subscription = Router.from_subscription(subscription_id)
+
+    assert subscription.status == "active"