update tests based on implementation changes

Signed-off-by: Emma Indal <emma.indahl@gmail.com>
This commit is contained in:
Emma Indal
2022-03-23 11:22:11 +01:00
parent 10a7736ced
commit 4f9de91af5
2 changed files with 23 additions and 31 deletions
+22 -31
View File
@@ -15,11 +15,7 @@
*/
import React from 'react';
import {
techdocsApiRef,
TechDocsApi,
TechDocsMetadata,
} from '@backstage/plugin-techdocs';
import { TechDocsMetadata } from './types';
import {
useEntityMetadata,
useTechDocsMetadata,
@@ -31,7 +27,6 @@ import {
import { renderHook, act } from '@testing-library/react-hooks';
import { Entity, CompoundEntityRef } from '@backstage/catalog-model';
import { TestApiProvider } from '@backstage/test-utils';
const mockEntity: Entity = {
apiVersion: 'v1',
@@ -51,11 +46,6 @@ const mockShadowRoot = () => {
return shadowRoot;
};
const techdocsApi: Partial<TechDocsApi> = {
getEntityMetadata: () => Promise.resolve(mockEntity),
getTechDocsMetadata: () => Promise.resolve(mockTechDocsMetadata),
};
const wrapper = ({
entityName = {
namespace: mockEntity.metadata.namespace!!,
@@ -67,15 +57,25 @@ const wrapper = ({
entityName: CompoundEntityRef;
children: React.ReactNode;
}) => (
<TestApiProvider apis={[[techdocsApiRef, techdocsApi]]}>
<TechDocsMetadataProvider entityName={entityName}>
<TechDocsEntityProvider entityName={entityName}>
<TechDocsReaderPageProvider entityName={entityName}>
{children}
</TechDocsReaderPageProvider>
</TechDocsEntityProvider>
</TechDocsMetadataProvider>
</TestApiProvider>
<TechDocsMetadataProvider
asyncValue={{
loading: false,
error: undefined,
value: mockTechDocsMetadata,
}}
>
<TechDocsEntityProvider
asyncValue={{
loading: false,
error: undefined,
value: mockEntity,
}}
>
<TechDocsReaderPageProvider entityName={entityName}>
{children}
</TechDocsReaderPageProvider>
</TechDocsEntityProvider>
</TechDocsMetadataProvider>
);
describe('context', () => {
@@ -87,12 +87,7 @@ describe('context', () => {
});
it('should return expected entity values', async () => {
const { result, waitForNextUpdate } = renderHook(
() => useEntityMetadata(),
{ wrapper },
);
await waitForNextUpdate();
const { result } = renderHook(() => useEntityMetadata(), { wrapper });
expect(result.current.value).toBeDefined();
expect(result.current.error).toBeUndefined();
@@ -108,12 +103,8 @@ describe('context', () => {
});
it('should return expected techdocs metadata values', async () => {
const { result, waitForNextUpdate } = renderHook(
() => useTechDocsMetadata(),
{ wrapper },
);
const { result } = renderHook(() => useTechDocsMetadata(), { wrapper });
await waitForNextUpdate();
expect(result.current.value).toBeDefined();
expect(result.current.error).toBeUndefined();
expect(result.current.value).toMatchObject(mockTechDocsMetadata);
+1
View File
@@ -27,6 +27,7 @@ export {
} from './addons';
export * from './components';
export { useEntityMetadata, useTechDocsMetadata } from './context';
export { useShadowRoot, useShadowRootElements } from './hooks';
export { TechDocsAddonLocations } from './types';
export type {
TechDocsAddonAsyncMetadata,