Skip to content

Commit 47237c2

Browse files
committed
test(@schematics/angular): refactor browser provider tests into parameterized loop and add preview provider case
1 parent 43507d8 commit 47237c2

File tree

1 file changed

+20
-27
lines changed

1 file changed

+20
-27
lines changed

packages/schematics/angular/vitest-browser/index_spec.ts

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -54,35 +54,28 @@ describe('Vitest Browser Provider Schematic', () => {
5454
expect(tsConfig.compilerOptions.types).not.toContain('jasmine');
5555
});
5656

57-
it('should add browsers option to angular.json for playwright', async () => {
58-
const options = {
59-
project: 'app',
60-
package: '@vitest/browser-playwright',
61-
skipInstall: true,
62-
};
63-
64-
const resultTree = await schematicRunner.runSchematic('vitest-browser', options, tree);
65-
66-
const angularJson = parse(resultTree.readContent('/angular.json'));
67-
const project = angularJson.projects.app;
68-
const targets = project.architect || project.targets;
69-
expect(targets.test.options.browsers).toEqual(['chromium']);
70-
});
71-
72-
it('should add browsers option to angular.json for webdriverio', async () => {
73-
const options = {
74-
project: 'app',
75-
package: '@vitest/browser-webdriverio',
76-
skipInstall: true,
77-
};
57+
const browserProviderCases: { provider: string; expectedBrowser: string }[] = [
58+
{ provider: '@vitest/browser-playwright', expectedBrowser: 'chromium' },
59+
{ provider: '@vitest/browser-webdriverio', expectedBrowser: 'chrome' },
60+
{ provider: '@vitest/browser-preview', expectedBrowser: 'chromium' },
61+
];
62+
63+
for (const { provider, expectedBrowser } of browserProviderCases) {
64+
it(`should add browsers option to angular.json for ${provider}`, async () => {
65+
const options = {
66+
project: 'app',
67+
package: provider,
68+
skipInstall: true,
69+
};
7870

79-
const resultTree = await schematicRunner.runSchematic('vitest-browser', options, tree);
71+
const resultTree = await schematicRunner.runSchematic('vitest-browser', options, tree);
8072

81-
const angularJson = parse(resultTree.readContent('/angular.json'));
82-
const project = angularJson.projects.app;
83-
const targets = project.architect || project.targets;
84-
expect(targets.test.options.browsers).toEqual(['chrome']);
85-
});
73+
const angularJson = parse(resultTree.readContent('/angular.json'));
74+
const project = angularJson.projects.app;
75+
const targets = project.architect || project.targets;
76+
expect(targets.test.options.browsers).toEqual([expectedBrowser]);
77+
});
78+
}
8679

8780
it('should not overwrite existing browsers option in angular.json', async () => {
8881
// Set up existing browsers option

0 commit comments

Comments
 (0)