Merge pull request #4807 from backstage/rugvip/plugtempfix

cli: fix plugin template by using renderInTestApp in component test
This commit is contained in:
Ben Lambert
2021-03-04 14:05:27 +01:00
committed by GitHub
2 changed files with 33 additions and 23 deletions
@@ -1,11 +1,10 @@
import React from 'react';
import { render } from '@testing-library/react';
import { ExampleComponent } from './ExampleComponent';
import { ThemeProvider } from '@material-ui/core';
import { lightTheme } from '@backstage/theme';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { msw } from '@backstage/test-utils';
import { msw, renderInTestApp } from '@backstage/test-utils';
describe('ExampleComponent', () => {
const server = setupServer();
@@ -19,8 +18,8 @@ describe('ExampleComponent', () => {
);
});
it('should render', () => {
const rendered = render(
it('should render', async () => {
const rendered = await renderInTestApp(
<ThemeProvider theme={lightTheme}>
<ExampleComponent />
</ThemeProvider>,
+30 -19
View File
@@ -42,33 +42,44 @@ const templatePackagePaths = [
];
export async function run() {
const rootDir = await fs.mkdtemp(resolvePath(os.tmpdir(), 'backstage-e2e-'));
print(`CLI E2E test root: ${rootDir}\n`);
try {
const rootDir = await fs.mkdtemp(
resolvePath(os.tmpdir(), 'backstage-e2e-'),
);
print(`CLI E2E test root: ${rootDir}\n`);
print('Building dist workspace');
const workspaceDir = await buildDistWorkspace('workspace', rootDir);
print('Building dist workspace');
const workspaceDir = await buildDistWorkspace('workspace', rootDir);
const isPostgres = Boolean(process.env.POSTGRES_USER);
print('Creating a Backstage App');
const appDir = await createApp('test-app', isPostgres, workspaceDir, rootDir);
const isPostgres = Boolean(process.env.POSTGRES_USER);
print('Creating a Backstage App');
const appDir = await createApp(
'test-app',
isPostgres,
workspaceDir,
rootDir,
);
print('Creating a Backstage Plugin');
const pluginName = await createPlugin('test-plugin', appDir);
print('Creating a Backstage Plugin');
const pluginName = await createPlugin('test-plugin', appDir);
print('Creating a Backstage Backend Plugin');
await createPlugin('test-plugin', appDir, ['--backend']);
print('Creating a Backstage Backend Plugin');
await createPlugin('test-plugin', appDir, ['--backend']);
print('Starting the app');
await testAppServe(pluginName, appDir);
print('Starting the app');
await testAppServe(pluginName, appDir);
print('Testing the backend startup');
await testBackendStart(appDir, isPostgres);
print('Testing the backend startup');
await testBackendStart(appDir, isPostgres);
print('All tests successful, removing test dir');
await fs.remove(rootDir);
print('All tests successful, removing test dir');
await fs.remove(rootDir);
// Just in case some child process was left hanging
process.exit(0);
// Just in case some child process was left hanging
process.exit(0);
} catch {
process.exit(1);
}
}
/**