Merge pull request #12943 from kialam/add-locators

Add locators for QE.
This commit is contained in:
kialam
2022-09-26 11:15:12 -07:00
committed by GitHub
3 changed files with 30 additions and 15 deletions

View File

@@ -194,6 +194,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
/> />
<Detail <Detail
label={t`Status`} label={t`Status`}
dataCy="status"
value={ value={
instance.node_state ? ( instance.node_state ? (
<StatusLabel status={instance.node_state} /> <StatusLabel status={instance.node_state} />
@@ -214,6 +215,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
<Detail <Detail
fullWidth fullWidth
label={t`Instance Groups`} label={t`Instance Groups`}
dataCy="instance-groups"
helpText={t`The Instance Groups to which this instance belongs.`} helpText={t`The Instance Groups to which this instance belongs.`}
value={instanceGroups.map((ig) => ( value={instanceGroups.map((ig) => (
<React.Fragment key={ig.id}> <React.Fragment key={ig.id}>
@@ -239,6 +241,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
)} )}
<Detail <Detail
label={t`Last Health Check`} label={t`Last Health Check`}
dataCy="last-health-check"
value={formatDateString(healthCheck?.last_health_check)} value={formatDateString(healthCheck?.last_health_check)}
/> />
{instance.related?.install_bundle && ( {instance.related?.install_bundle && (
@@ -252,6 +255,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
href={`${instance.related?.install_bundle}`} href={`${instance.related?.install_bundle}`}
target="_blank" target="_blank"
variant="secondary" variant="secondary"
dataCy="install-bundle-download-button"
> >
<DownloadIcon /> <DownloadIcon />
</Button> </Button>
@@ -261,6 +265,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
)} )}
<Detail <Detail
label={t`Capacity Adjustment`} label={t`Capacity Adjustment`}
dataCy="capacity-adjustment"
value={ value={
<SliderHolder data-cy="slider-holder"> <SliderHolder data-cy="slider-holder">
<div data-cy="cpu-capacity">{t`CPU ${instance.cpu_capacity}`}</div> <div data-cy="cpu-capacity">{t`CPU ${instance.cpu_capacity}`}</div>
@@ -285,6 +290,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
/> />
<Detail <Detail
label={t`Used Capacity`} label={t`Used Capacity`}
dataCy="used-capacity"
value={ value={
instance.enabled ? ( instance.enabled ? (
<Progress <Progress
@@ -307,6 +313,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
<Detail <Detail
fullWidth fullWidth
label={t`Errors`} label={t`Errors`}
dataCy="errors"
value={ value={
<CodeBlock> <CodeBlock>
<CodeBlockCode>{healthCheck?.errors}</CodeBlockCode> <CodeBlockCode>{healthCheck?.errors}</CodeBlockCode>
@@ -319,6 +326,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
<CardActionsRow> <CardActionsRow>
{me.is_superuser && isK8s && instance.node_type === 'execution' && ( {me.is_superuser && isK8s && instance.node_type === 'execution' && (
<RemoveInstanceButton <RemoveInstanceButton
dataCy="remove-instance-button"
itemsToRemove={[instance]} itemsToRemove={[instance]}
isK8s={isK8s} isK8s={isK8s}
onRemove={removeInstances} onRemove={removeInstances}
@@ -340,6 +348,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
css="display: inline-flex;" css="display: inline-flex;"
fetchInstances={fetchDetails} fetchInstances={fetchDetails}
instance={instance} instance={instance}
dataCy="enable-instance"
/> />
</CardActionsRow> </CardActionsRow>
)} )}

View File

@@ -224,6 +224,7 @@ function MeshGraph({ data, showLegend, zoom, setShowZoomControls }) {
.data(nodes) .data(nodes)
.enter() .enter()
.append('g') .append('g')
.attr('data-cy', (d) => `node-${d.id}`)
.on('mouseenter', function handleNodeHover(_, d) { .on('mouseenter', function handleNodeHover(_, d) {
d3.select(this).transition().style('cursor', 'pointer'); d3.select(this).transition().style('cursor', 'pointer');
highlightSiblings(d); highlightSiblings(d);

View File

@@ -198,6 +198,7 @@ function Tooltip({
title={t`Error!`} title={t`Error!`}
isOpen isOpen
onClose={dismissUpdateError} onClose={dismissUpdateError}
dataCy="update-instance-alert"
> >
{t`Failed to update instance.`} {t`Failed to update instance.`}
<ErrorDetail error={updateError} /> <ErrorDetail error={updateError} />
@@ -222,6 +223,7 @@ function Tooltip({
variant="link" variant="link"
isInline isInline
onClick={redirectToDetailsPage} onClick={redirectToDetailsPage}
dataCy="redirect-to-details-button"
> >
{instanceDetail.hostname} {instanceDetail.hostname}
</PFButton> </PFButton>
@@ -229,13 +231,13 @@ function Tooltip({
</DescriptionListGroup> </DescriptionListGroup>
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Instance status`}</DescriptionListTerm> <DescriptionListTerm>{t`Instance status`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="node-state">
<StatusLabel status={instanceDetail.node_state} /> <StatusLabel status={instanceDetail.node_state} />
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Instance type`}</DescriptionListTerm> <DescriptionListTerm>{t`Instance type`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="node-type">
{instanceDetail.node_type} {instanceDetail.node_type}
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
@@ -243,15 +245,17 @@ function Tooltip({
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Download bundle`}</DescriptionListTerm> <DescriptionListTerm>{t`Download bundle`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription>
<a href={`${instanceDetail.related.install_bundle}`}> <PFButton
<PFButton dataCy="install-bundle-download-button"
ouiaId="job-output-download-button" aria-label={t`Download Bundle`}
variant="plain" component="a"
aria-label={t`Download Bundle`} isSmall
> href={`${instanceDetail.related?.install_bundle}`}
<DownloadIcon /> target="_blank"
</PFButton> variant="secondary"
</a> >
<DownloadIcon />
</PFButton>
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
)} )}
@@ -266,7 +270,7 @@ function Tooltip({
{instanceGroups && ( {instanceGroups && (
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Instance groups`}</DescriptionListTerm> <DescriptionListTerm>{t`Instance groups`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="instance-groups">
{renderInstanceGroups(instanceGroups.results)} {renderInstanceGroups(instanceGroups.results)}
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
@@ -305,7 +309,7 @@ function Tooltip({
</DescriptionListGroup> </DescriptionListGroup>
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Capacity`}</DescriptionListTerm> <DescriptionListTerm>{t`Capacity`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="used-capacity">
{usedCapacity(instanceDetail)} {usedCapacity(instanceDetail)}
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
@@ -315,6 +319,7 @@ function Tooltip({
css="display: inline-flex;" css="display: inline-flex;"
fetchInstances={fetchInstance} fetchInstances={fetchInstance}
instance={instanceDetail} instance={instanceDetail}
dataCy="enable-instance"
/> />
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
@@ -323,13 +328,13 @@ function Tooltip({
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Last modified`}</DescriptionListTerm> <DescriptionListTerm>{t`Last modified`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="last-modified">
{formatDateString(instanceDetail.modified)} {formatDateString(instanceDetail.modified)}
</DescriptionListDescription> </DescriptionListDescription>
</DescriptionListGroup> </DescriptionListGroup>
<DescriptionListGroup> <DescriptionListGroup>
<DescriptionListTerm>{t`Last seen`}</DescriptionListTerm> <DescriptionListTerm>{t`Last seen`}</DescriptionListTerm>
<DescriptionListDescription> <DescriptionListDescription dataCy="last-seen">
{instanceDetail.last_seen {instanceDetail.last_seen
? formatDateString(instanceDetail.last_seen) ? formatDateString(instanceDetail.last_seen)
: `not found`} : `not found`}