diff --git a/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.test.tsx b/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.test.tsx index 2cc069af5d..5720bfd5b4 100644 --- a/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.test.tsx +++ b/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.test.tsx @@ -14,48 +14,15 @@ * limitations under the License. */ -import { Entity } from '@backstage/catalog-model'; -import { - renderInTestApp, - TestApiProvider, - mockApis, -} from '@backstage/test-utils'; -import { catalogApiRef, entityRouteRef } from '@backstage/plugin-catalog-react'; -import { catalogApiMock } from '@backstage/plugin-catalog-react/testUtils'; +import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; +import { entityRouteRef } from '@backstage/plugin-catalog-react'; import { OwnerEntityColumn } from './OwnerEntityColumn'; -import { identityApiRef } from '@backstage/core-plugin-api'; describe('', () => { - const catalogApi = catalogApiMock.mock(); - const identityApi = mockApis.identity(); - - it('should render the column with the user', async () => { - const props = { - entityRef: 'user:default/foo', - }; - - const entity: Entity = { - apiVersion: 'v1', - kind: 'User', - metadata: { - name: 'test', - }, - spec: { - profile: { - displayName: 'BackUser', - }, - }, - }; - catalogApi.getEntityByRef.mockResolvedValue(entity); - - const { getByText, getByRole } = await renderInTestApp( - - + it('should render a link to the user entity', async () => { + const { getByRole } = await renderInTestApp( + + , { mountedRoutes: { @@ -68,7 +35,20 @@ describe('', () => { 'href', '/catalog/default/user/foo', ); - const text = getByText('BackUser'); - expect(text).toBeDefined(); + }); + + it('should render Unknown when entityRef is missing', async () => { + const { getByText } = await renderInTestApp( + + + , + { + mountedRoutes: { + '/catalog/:namespace/:kind/:name': entityRouteRef, + }, + }, + ); + + expect(getByText('Unknown')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.tsx b/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.tsx index a6d53d2ea1..6c1ca0bde9 100644 --- a/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.tsx +++ b/plugins/scaffolder/src/components/ListTasksPage/columns/OwnerEntityColumn.tsx @@ -13,37 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { useApi } from '@backstage/core-plugin-api'; - -import useAsync from 'react-use/esm/useAsync'; - -import { catalogApiRef, EntityRefLink } from '@backstage/plugin-catalog-react'; -import { parseEntityRef, UserEntity } from '@backstage/catalog-model'; +import { EntityRefLink } from '@backstage/plugin-catalog-react'; import Typography from '@material-ui/core/Typography'; export const OwnerEntityColumn = ({ entityRef }: { entityRef?: string }) => { - const catalogApi = useApi(catalogApiRef); - - const { value, loading, error } = useAsync( - () => catalogApi.getEntityByRef(entityRef || ''), - [catalogApi, entityRef], - ); - if (!entityRef) { - return Unknown; + return Unknown; } - if (loading || error) { - return null; - } - - return ( - - ); + return ; };