Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test(@schematics/angular): refactor browser provider tests into param…
…eterized loop and add preview provider case
  • Loading branch information
maruthang committed Apr 2, 2026
commit 47237c21bd3b3c2ff77a4c04f429b1f271331c78
47 changes: 20 additions & 27 deletions packages/schematics/angular/vitest-browser/index_spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,35 +54,28 @@ describe('Vitest Browser Provider Schematic', () => {
expect(tsConfig.compilerOptions.types).not.toContain('jasmine');
});

it('should add browsers option to angular.json for playwright', async () => {
const options = {
project: 'app',
package: '@vitest/browser-playwright',
skipInstall: true,
};

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

const angularJson = parse(resultTree.readContent('/angular.json'));
const project = angularJson.projects.app;
const targets = project.architect || project.targets;
expect(targets.test.options.browsers).toEqual(['chromium']);
});

it('should add browsers option to angular.json for webdriverio', async () => {
const options = {
project: 'app',
package: '@vitest/browser-webdriverio',
skipInstall: true,
};
const browserProviderCases: { provider: string; expectedBrowser: string }[] = [
{ provider: '@vitest/browser-playwright', expectedBrowser: 'chromium' },
{ provider: '@vitest/browser-webdriverio', expectedBrowser: 'chrome' },
{ provider: '@vitest/browser-preview', expectedBrowser: 'chromium' },
];

for (const { provider, expectedBrowser } of browserProviderCases) {
it(`should add browsers option to angular.json for ${provider}`, async () => {
const options = {
project: 'app',
package: provider,
skipInstall: true,
};

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

const angularJson = parse(resultTree.readContent('/angular.json'));
const project = angularJson.projects.app;
const targets = project.architect || project.targets;
expect(targets.test.options.browsers).toEqual(['chrome']);
});
const angularJson = parse(resultTree.readContent('/angular.json'));
const project = angularJson.projects.app;
const targets = project.architect || project.targets;
expect(targets.test.options.browsers).toEqual([expectedBrowser]);
});
}

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