kubernetes: fix DeploymentDrawer conditional namespace rendering + add test

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2021-09-29 17:38:40 +02:00
parent d4a0f8ce8d
commit 2dab51237c
2 changed files with 28 additions and 15 deletions
@@ -15,20 +15,17 @@
*/
import React from 'react';
import { render } from '@testing-library/react';
import * as deployments from '../../__fixtures__/2-deployments.json';
import { wrapInTestApp } from '@backstage/test-utils';
import { renderInTestApp } from '@backstage/test-utils';
import { DeploymentDrawer } from './DeploymentDrawer';
describe('DeploymentDrawer', () => {
it('should render deployment drawer', async () => {
const { getByText, getAllByText } = render(
wrapInTestApp(
<DeploymentDrawer
deployment={(deployments as any).deployments[0]}
expanded
/>,
),
const { getByText, getAllByText } = await renderInTestApp(
<DeploymentDrawer
deployment={(deployments as any).deployments[0]}
expanded
/>,
);
expect(getAllByText('dice-roller')).toHaveLength(2);
@@ -45,6 +42,22 @@ describe('DeploymentDrawer', () => {
expect(getByText('600')).toBeInTheDocument();
expect(getByText('Progressing')).toBeInTheDocument();
expect(getByText('Available')).toBeInTheDocument();
expect(getByText('namespace: default')).toBeInTheDocument();
expect(getAllByText('True')).toHaveLength(2);
});
it('should render deployment drawer without namespace', async () => {
const deployment = (deployments as any).deployments[0];
const { queryByText } = await renderInTestApp(
<DeploymentDrawer
deployment={{
...deployment,
metadata: { ...deployment.metadata, namespace: undefined },
}}
expanded
/>,
);
expect(queryByText('namespace: default')).not.toBeInTheDocument();
});
});
@@ -27,6 +27,7 @@ export const DeploymentDrawer = ({
deployment: V1Deployment;
expanded?: boolean;
}) => {
const namespace = deployment.metadata?.namespace;
return (
<KubernetesDrawer
object={deployment}
@@ -66,12 +67,11 @@ export const DeploymentDrawer = ({
Deployment
</Typography>
</Grid>
<Grid item>
<Chip
size="small"
label={`namespace: ${deployment.metadata?.namespace}` ?? 'default'}
/>
</Grid>
{namespace && (
<Grid item>
<Chip size="small" label={`namespace: ${namespace}`} />
</Grid>
)}
</Grid>
</KubernetesDrawer>
);