@analogjs/vitest-angular 2.2.0-beta.9 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -109,6 +109,24 @@ setupTestBed({
109
109
  });
110
110
  ```
111
111
 
112
+ ### Configuration Options
113
+
114
+ The `setupTestBed()` function accepts an optional configuration object with the following properties:
115
+
116
+ - `zoneless` (boolean): Whether to use zoneless change detection (default: `true`)
117
+ - `providers` (`Type<any>[]`): Additional providers to include in the test environment (default: `[]`)
118
+ - `browserMode` (boolean): Enables visual test preview in Vitest browser mode by keeping the component rendered, allowing you to inspect its final state (default: `false`)
119
+
120
+ **Example with options:**
121
+
122
+ ```ts
123
+ setupTestBed({
124
+ zoneless: true,
125
+ providers: [],
126
+ browserMode: false,
127
+ });
128
+ ```
129
+
112
130
  Next, update the `test` target in the `angular.json` to use the `@analogjs/vitest-angular:test` builder:
113
131
 
114
132
  ```json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vitest-angular",
3
- "version": "2.2.0-beta.9",
3
+ "version": "2.2.0",
4
4
  "description": "Vitest Builder for Angular",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -2,6 +2,7 @@ import { Type } from '@angular/core';
2
2
  type TestBedSetupOptions = {
3
3
  zoneless?: boolean;
4
4
  providers?: Type<any>[];
5
+ browserMode?: boolean;
5
6
  };
6
7
  export declare function setupTestBed(options?: TestBedSetupOptions): void;
7
8
  export {};
package/setup-testbed.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule, provideZonelessChangeDetection } from '@angular/core';
3
- import { getTestBed, ɵgetCleanupHook as getCleanupHook, } from '@angular/core/testing';
3
+ import { ɵgetCleanupHook as getCleanupHook, getTestBed, } from '@angular/core/testing';
4
4
  import { BrowserTestingModule, platformBrowserTesting, } from '@angular/platform-browser/testing';
5
5
  import { afterEach, beforeEach } from 'vitest';
6
6
  const ANGULAR_TESTBED_SETUP = Symbol.for('testbed-setup');
@@ -20,7 +20,9 @@ export function setupTestBed(options = { zoneless: true, providers: [] }) {
20
20
  BrowserTestingModule,
21
21
  ...(options?.zoneless ? [ZonelessTestModule] : []),
22
22
  ...(options?.providers || []),
23
- ], platformBrowserTesting());
23
+ ], platformBrowserTesting(), options?.browserMode
24
+ ? { teardown: { destroyAfterEach: false } }
25
+ : undefined);
24
26
  }
25
27
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdGVzdGJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXRlc3RiZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNMLFVBQVUsRUFDVixlQUFlLElBQUksY0FBYyxHQUNsQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBQ3ZCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0MsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBTzFELE1BQU0sVUFBVSxZQUFZLENBQzFCLFVBQStCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBRWhFLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFaEMsSUFBSSxDQUFFLFVBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQy9DLFVBQWtCLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUM7UUFLbEQsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7U0FBRyxDQUFBO1FBQXJCLGtCQUFrQjtZQUh2QixRQUFRLENBQUM7Z0JBQ1IsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQ3ZFLENBQUM7V0FDSSxrQkFBa0IsQ0FBRztRQUUzQixVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FDOUI7WUFDRSxvQkFBb0I7WUFDcEIsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xELEdBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBaUI7U0FDL0MsRUFDRCxzQkFBc0IsRUFBRSxDQUN6QixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgcHJvdmlkZVpvbmVsZXNzQ2hhbmdlRGV0ZWN0aW9uLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZXRUZXN0QmVkLFxuICDJtWdldENsZWFudXBIb29rIGFzIGdldENsZWFudXBIb29rLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgQnJvd3NlclRlc3RpbmdNb2R1bGUsXG4gIHBsYXRmb3JtQnJvd3NlclRlc3RpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvdGVzdGluZyc7XG5pbXBvcnQgeyBhZnRlckVhY2gsIGJlZm9yZUVhY2ggfSBmcm9tICd2aXRlc3QnO1xuXG5jb25zdCBBTkdVTEFSX1RFU1RCRURfU0VUVVAgPSBTeW1ib2wuZm9yKCd0ZXN0YmVkLXNldHVwJyk7XG5cbnR5cGUgVGVzdEJlZFNldHVwT3B0aW9ucyA9IHtcbiAgem9uZWxlc3M/OiBib29sZWFuO1xuICBwcm92aWRlcnM/OiBUeXBlPGFueT5bXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFRlc3RCZWQoXG4gIG9wdGlvbnM6IFRlc3RCZWRTZXR1cE9wdGlvbnMgPSB7IHpvbmVsZXNzOiB0cnVlLCBwcm92aWRlcnM6IFtdIH0sXG4pIHtcbiAgYmVmb3JlRWFjaChnZXRDbGVhbnVwSG9vayhmYWxzZSkpO1xuICBhZnRlckVhY2goZ2V0Q2xlYW51cEhvb2sodHJ1ZSkpO1xuXG4gIGlmICghKGdsb2JhbFRoaXMgYXMgYW55KVtBTkdVTEFSX1RFU1RCRURfU0VUVVBdKSB7XG4gICAgKGdsb2JhbFRoaXMgYXMgYW55KVtBTkdVTEFSX1RFU1RCRURfU0VUVVBdID0gdHJ1ZTtcblxuICAgIEBOZ01vZHVsZSh7XG4gICAgICBwcm92aWRlcnM6IG9wdGlvbnM/LnpvbmVsZXNzID8gW3Byb3ZpZGVab25lbGVzc0NoYW5nZURldGVjdGlvbigpXSA6IFtdLFxuICAgIH0pXG4gICAgY2xhc3MgWm9uZWxlc3NUZXN0TW9kdWxlIHt9XG5cbiAgICBnZXRUZXN0QmVkKCkuaW5pdFRlc3RFbnZpcm9ubWVudChcbiAgICAgIFtcbiAgICAgICAgQnJvd3NlclRlc3RpbmdNb2R1bGUsXG4gICAgICAgIC4uLihvcHRpb25zPy56b25lbGVzcyA/IFtab25lbGVzc1Rlc3RNb2R1bGVdIDogW10pLFxuICAgICAgICAuLi4oKG9wdGlvbnM/LnByb3ZpZGVycyB8fCBbXSkgYXMgVHlwZTxhbnk+W10pLFxuICAgICAgXSxcbiAgICAgIHBsYXRmb3JtQnJvd3NlclRlc3RpbmcoKSxcbiAgICApO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdGVzdGJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXRlc3RiZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNMLGVBQWUsSUFBSSxjQUFjLEVBQ2pDLFVBQVUsR0FDWCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBQ3ZCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0MsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBUTFELE1BQU0sVUFBVSxZQUFZLENBQzFCLFVBQStCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBRWhFLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFaEMsSUFBSSxDQUFFLFVBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQy9DLFVBQWtCLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUM7UUFLbEQsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7U0FBRyxDQUFBO1FBQXJCLGtCQUFrQjtZQUh2QixRQUFRLENBQUM7Z0JBQ1IsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQ3ZFLENBQUM7V0FDSSxrQkFBa0IsQ0FBRztRQUUzQixVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FDOUI7WUFDRSxvQkFBb0I7WUFDcEIsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xELEdBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBaUI7U0FDL0MsRUFDRCxzQkFBc0IsRUFBRSxFQUN4QixPQUFPLEVBQUUsV0FBVztZQUNsQixDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzQyxDQUFDLENBQUMsU0FBUyxDQUNkLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBwcm92aWRlWm9uZWxlc3NDaGFuZ2VEZXRlY3Rpb24sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIMm1Z2V0Q2xlYW51cEhvb2sgYXMgZ2V0Q2xlYW51cEhvb2ssXG4gIGdldFRlc3RCZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBCcm93c2VyVGVzdGluZ01vZHVsZSxcbiAgcGxhdGZvcm1Ccm93c2VyVGVzdGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci90ZXN0aW5nJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgYmVmb3JlRWFjaCB9IGZyb20gJ3ZpdGVzdCc7XG5cbmNvbnN0IEFOR1VMQVJfVEVTVEJFRF9TRVRVUCA9IFN5bWJvbC5mb3IoJ3Rlc3RiZWQtc2V0dXAnKTtcblxudHlwZSBUZXN0QmVkU2V0dXBPcHRpb25zID0ge1xuICB6b25lbGVzcz86IGJvb2xlYW47XG4gIHByb3ZpZGVycz86IFR5cGU8YW55PltdO1xuICBicm93c2VyTW9kZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBUZXN0QmVkKFxuICBvcHRpb25zOiBUZXN0QmVkU2V0dXBPcHRpb25zID0geyB6b25lbGVzczogdHJ1ZSwgcHJvdmlkZXJzOiBbXSB9LFxuKSB7XG4gIGJlZm9yZUVhY2goZ2V0Q2xlYW51cEhvb2soZmFsc2UpKTtcbiAgYWZ0ZXJFYWNoKGdldENsZWFudXBIb29rKHRydWUpKTtcblxuICBpZiAoIShnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSkge1xuICAgIChnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSA9IHRydWU7XG5cbiAgICBATmdNb2R1bGUoe1xuICAgICAgcHJvdmlkZXJzOiBvcHRpb25zPy56b25lbGVzcyA/IFtwcm92aWRlWm9uZWxlc3NDaGFuZ2VEZXRlY3Rpb24oKV0gOiBbXSxcbiAgICB9KVxuICAgIGNsYXNzIFpvbmVsZXNzVGVzdE1vZHVsZSB7fVxuXG4gICAgZ2V0VGVzdEJlZCgpLmluaXRUZXN0RW52aXJvbm1lbnQoXG4gICAgICBbXG4gICAgICAgIEJyb3dzZXJUZXN0aW5nTW9kdWxlLFxuICAgICAgICAuLi4ob3B0aW9ucz8uem9uZWxlc3MgPyBbWm9uZWxlc3NUZXN0TW9kdWxlXSA6IFtdKSxcbiAgICAgICAgLi4uKChvcHRpb25zPy5wcm92aWRlcnMgfHwgW10pIGFzIFR5cGU8YW55PltdKSxcbiAgICAgIF0sXG4gICAgICBwbGF0Zm9ybUJyb3dzZXJUZXN0aW5nKCksXG4gICAgICBvcHRpb25zPy5icm93c2VyTW9kZVxuICAgICAgICA/IHsgdGVhcmRvd246IHsgZGVzdHJveUFmdGVyRWFjaDogZmFsc2UgfSB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==