app-backend: refactor to avoid mock-fs

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-10-02 19:43:39 +02:00
parent 3247b26d63
commit 5ebf9b47c1
3 changed files with 27 additions and 16 deletions
-1
View File
@@ -69,7 +69,6 @@
"@backstage/cli": "workspace:^",
"@backstage/types": "workspace:^",
"@types/supertest": "^2.0.8",
"mock-fs": "^5.2.0",
"msw": "^1.0.0",
"node-fetch": "^2.6.7",
"supertest": "^6.1.3"
@@ -14,33 +14,46 @@
* limitations under the License.
*/
import mockFs from 'mock-fs';
import { resolve as resolvePath } from 'path';
import fetch from 'node-fetch';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import {
createMockDirectory,
mockServices,
startTestBackend,
} from '@backstage/backend-test-utils';
import { appPlugin } from './appPlugin';
import { createRootLogger } from '@backstage/backend-common';
const mockDir = createMockDirectory();
jest.mock('../../../../packages/backend-common/src/paths', () => {
const actual = jest.requireActual(
'../../../../packages/backend-common/src/paths',
);
return {
...actual,
resolvePackagePath: (pkg: string, ...args: string[]) => {
if (pkg === 'app') {
return mockDir.resolve(...args);
}
return actual.resolvePackagePath(pkg, ...args);
},
};
});
// Make sure root logger is initialized ahead of FS mock
createRootLogger();
describe('appPlugin', () => {
beforeEach(() => {
mockFs({
[resolvePath(process.cwd(), 'node_modules/app')]: {
'package.json': '{}',
dist: {
static: {},
'index.html': 'winning',
},
mockDir.setContent({
'package.json': '{}',
dist: {
static: {},
'index.html': 'winning',
},
});
});
afterEach(() => {
mockFs.restore();
});
it('boots', async () => {
const { server } = await startTestBackend({
features: [
-1
View File
@@ -4830,7 +4830,6 @@ __metadata:
knex: ^2.0.0
lodash: ^4.17.21
luxon: ^3.0.0
mock-fs: ^5.2.0
msw: ^1.0.0
node-fetch: ^2.6.7
supertest: ^6.1.3