{t`CPU ${instance.cpu_capacity}`}
@@ -285,6 +290,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
/>
{healthCheck?.errors}
@@ -319,6 +326,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
{me.is_superuser && isK8s && instance.node_type === 'execution' && (
)}
diff --git a/awx/ui/src/screens/TopologyView/MeshGraph.js b/awx/ui/src/screens/TopologyView/MeshGraph.js
index 5b6ca64562..c20b521ae6 100644
--- a/awx/ui/src/screens/TopologyView/MeshGraph.js
+++ b/awx/ui/src/screens/TopologyView/MeshGraph.js
@@ -224,6 +224,7 @@ function MeshGraph({ data, showLegend, zoom, setShowZoomControls }) {
.data(nodes)
.enter()
.append('g')
+ .attr('data-cy', (d) => `node-${d.id}`)
.on('mouseenter', function handleNodeHover(_, d) {
d3.select(this).transition().style('cursor', 'pointer');
highlightSiblings(d);
diff --git a/awx/ui/src/screens/TopologyView/Tooltip.js b/awx/ui/src/screens/TopologyView/Tooltip.js
index e2d8a792eb..5544c5ec85 100644
--- a/awx/ui/src/screens/TopologyView/Tooltip.js
+++ b/awx/ui/src/screens/TopologyView/Tooltip.js
@@ -198,6 +198,7 @@ function Tooltip({
title={t`Error!`}
isOpen
onClose={dismissUpdateError}
+ dataCy="update-instance-alert"
>
{t`Failed to update instance.`}
@@ -222,6 +223,7 @@ function Tooltip({
variant="link"
isInline
onClick={redirectToDetailsPage}
+ dataCy="redirect-to-details-button"
>
{instanceDetail.hostname}
@@ -229,13 +231,13 @@ function Tooltip({
{t`Instance status`}
-
+
{t`Instance type`}
-
+
{instanceDetail.node_type}
@@ -243,15 +245,17 @@ function Tooltip({
{t`Download bundle`}
-
-
-
-
-
+
+
+
)}
@@ -266,7 +270,7 @@ function Tooltip({
{instanceGroups && (
{t`Instance groups`}
-
+
{renderInstanceGroups(instanceGroups.results)}
@@ -305,7 +309,7 @@ function Tooltip({
{t`Capacity`}
-
+
{usedCapacity(instanceDetail)}
@@ -315,6 +319,7 @@ function Tooltip({
css="display: inline-flex;"
fetchInstances={fetchInstance}
instance={instanceDetail}
+ dataCy="enable-instance"
/>
@@ -323,13 +328,13 @@ function Tooltip({
{t`Last modified`}
-
+
{formatDateString(instanceDetail.modified)}
{t`Last seen`}
-
+
{instanceDetail.last_seen
? formatDateString(instanceDetail.last_seen)
: `not found`}