cypress 13.17.0 → 14.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/angular/README.md +5 -0
- package/angular/angular/README.md +5 -0
- package/angular/angular/dist/index.d.ts +11 -2
- package/angular/angular/dist/index.js +944 -4
- package/angular/angular/package.json +16 -9
- package/angular/dist/index.d.ts +11 -2
- package/angular/dist/index.js +944 -4
- package/angular/package.json +16 -9
- package/lib/cli.js +1 -30
- package/lib/exec/spawn.js +17 -7
- package/mount-utils/dist/index.d.ts +0 -28
- package/mount-utils/dist/index.js +0 -27
- package/mount-utils/mount-utils/dist/index.d.ts +0 -28
- package/mount-utils/mount-utils/dist/index.js +0 -27
- package/package.json +5 -23
- package/react/README.md +5 -0
- package/react/dist/cypress-react.cjs.js +21 -676
- package/react/dist/cypress-react.esm-bundler.js +22 -676
- package/react/dist/index.d.ts +13 -30
- package/react/package.json +13 -15
- package/react/react/README.md +5 -0
- package/react/react/dist/cypress-react.cjs.js +21 -676
- package/react/react/dist/cypress-react.esm-bundler.js +22 -676
- package/react/react/dist/index.d.ts +13 -30
- package/react/react/package.json +13 -15
- package/svelte/README.md +6 -2
- package/svelte/dist/cypress-svelte.cjs.js +12 -12
- package/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
- package/svelte/dist/index.d.ts +8 -179
- package/svelte/package.json +2 -2
- package/svelte/svelte/README.md +6 -2
- package/svelte/svelte/dist/cypress-svelte.cjs.js +12 -12
- package/svelte/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
- package/svelte/svelte/dist/index.d.ts +8 -179
- package/svelte/svelte/package.json +2 -2
- package/types/cypress.d.ts +32 -49
- package/types/net-stubbing.d.ts +2 -7
- package/vue/dist/cypress-vue.cjs.js +380 -275
- package/vue/dist/cypress-vue.esm-bundler.js +382 -276
- package/vue/dist/index.d.ts +61 -78
- package/vue/package.json +2 -5
- package/vue/vue/dist/cypress-vue.cjs.js +380 -275
- package/vue/vue/dist/cypress-vue.esm-bundler.js +382 -276
- package/vue/vue/dist/index.d.ts +61 -78
- package/vue/vue/package.json +2 -5
- package/angular-signals/README.md +0 -11
- package/angular-signals/angular-signals/README.md +0 -11
- package/angular-signals/angular-signals/dist/index.d.ts +0 -136
- package/angular-signals/angular-signals/dist/index.js +0 -1861
- package/angular-signals/angular-signals/package.json +0 -74
- package/angular-signals/dist/index.d.ts +0 -136
- package/angular-signals/dist/index.js +0 -1861
- package/angular-signals/package.json +0 -74
- package/react18/README.md +0 -7
- package/react18/dist/cypress-react.cjs.js +0 -597
- package/react18/dist/cypress-react.esm-bundler.js +0 -574
- package/react18/dist/index.d.ts +0 -78
- package/react18/package.json +0 -71
- package/react18/react18/README.md +0 -7
- package/react18/react18/dist/cypress-react.cjs.js +0 -597
- package/react18/react18/dist/cypress-react.esm-bundler.js +0 -574
- package/react18/react18/dist/index.d.ts +0 -78
- package/react18/react18/package.json +0 -71
- package/vue2/README.md +0 -7
- package/vue2/dist/cypress-vue2.cjs.js +0 -20045
- package/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
- package/vue2/dist/index.d.ts +0 -207
- package/vue2/package.json +0 -65
- package/vue2/vue2/README.md +0 -7
- package/vue2/vue2/dist/cypress-vue2.cjs.js +0 -20045
- package/vue2/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
- package/vue2/vue2/dist/index.d.ts +0 -207
- package/vue2/vue2/package.json +0 -65
package/vue/vue/dist/index.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/// <reference types="cypress" />
|
2
2
|
|
3
3
|
import * as vue from 'vue';
|
4
|
-
import { ComponentInternalInstance, FunctionalComponent, ComponentOptions, Component, Directive, Plugin as Plugin$1, AppConfig, VNode, VNodeProps, ComponentPublicInstance, ComputedOptions, MethodOptions, CreateComponentPublicInstance,
|
4
|
+
import { ComponentInternalInstance, FunctionalComponent, ComponentOptions, Component, Directive, Plugin as Plugin$1, AppConfig, VNode, VNodeProps, ComponentPublicInstance, ComputedOptions, MethodOptions, CreateComponentPublicInstance, App, ConcreteComponent, DefineComponent, Prop, EmitsOptions, ComponentOptionsMixin, ExtractPropTypes, ExtractDefaultPropTypes, ComponentOptionsWithoutProps, ComponentOptionsWithArrayProps, ComponentPropsOptions, ComponentOptionsWithObjectProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
|
5
5
|
|
6
6
|
interface RefSelector {
|
7
7
|
ref: string;
|
@@ -22,7 +22,7 @@ type RawProps = VNodeProps & {
|
|
22
22
|
__v_isVNode?: never;
|
23
23
|
[Symbol.iterator]?: never;
|
24
24
|
} & Record<string, any>;
|
25
|
-
interface
|
25
|
+
interface BaseMountingOptions<Props, Data = {}> {
|
26
26
|
/**
|
27
27
|
* Overrides component's default data. Must be a function.
|
28
28
|
* @see https://test-utils.vuejs.org/api/#data
|
@@ -53,18 +53,32 @@ interface MountingOptions$1<Props, Data = {}> {
|
|
53
53
|
* Provides global mounting options to the component.
|
54
54
|
*/
|
55
55
|
global?: GlobalMountOptions$1;
|
56
|
+
/**
|
57
|
+
* Automatically stub out all the child components.
|
58
|
+
* @default false
|
59
|
+
* @see https://test-utils.vuejs.org/api/#slots
|
60
|
+
*/
|
61
|
+
shallow?: boolean;
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Mounting options for `mount` and `shallowMount`
|
65
|
+
*/
|
66
|
+
interface MountingOptions$1<Props, Data = {}> extends BaseMountingOptions<Props, Data> {
|
56
67
|
/**
|
57
68
|
* Specify where to mount the component.
|
58
69
|
* Can be a valid CSS selector, or an Element connected to the document.
|
59
70
|
* @see https://test-utils.vuejs.org/api/#attachto
|
60
71
|
*/
|
61
|
-
attachTo?:
|
72
|
+
attachTo?: Element | string;
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* Mounting options for `renderToString`
|
76
|
+
*/
|
77
|
+
interface RenderMountingOptions<Props, Data = {}> extends BaseMountingOptions<Props, Data> {
|
62
78
|
/**
|
63
|
-
*
|
64
|
-
* @default false
|
65
|
-
* @see https://test-utils.vuejs.org/api/#slots
|
79
|
+
* Attach to is not available in SSR mode
|
66
80
|
*/
|
67
|
-
|
81
|
+
attachTo?: never;
|
68
82
|
}
|
69
83
|
type Stub = boolean | Component | Directive;
|
70
84
|
type Stubs = Record<string, Stub> | Array<string>;
|
@@ -1150,9 +1164,7 @@ declare abstract class BaseWrapper<ElementType extends Node> implements WrapperL
|
|
1150
1164
|
trigger(eventString: string, options?: TriggerOptions): Promise<void>;
|
1151
1165
|
}
|
1152
1166
|
|
1153
|
-
declare class VueWrapper<T extends
|
1154
|
-
$emit: (event: any, ...args: any[]) => void;
|
1155
|
-
} & ComponentCustomProperties = ComponentPublicInstance> extends BaseWrapper<Node> {
|
1167
|
+
declare class VueWrapper<VM = unknown, T extends ComponentPublicInstance = VM & ComponentPublicInstance> extends BaseWrapper<Node> {
|
1156
1168
|
private readonly componentVM;
|
1157
1169
|
private readonly rootVM;
|
1158
1170
|
private readonly __app;
|
@@ -1168,17 +1180,15 @@ declare class VueWrapper<T extends Omit<ComponentPublicInstance, '$emit' | keyof
|
|
1168
1180
|
findAll<K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper<SVGElementTagNameMap[K]>[];
|
1169
1181
|
findAll<T extends Element>(selector: string): DOMWrapper<T>[];
|
1170
1182
|
private attachNativeEventListener;
|
1171
|
-
get element():
|
1183
|
+
get element(): T['$el'];
|
1172
1184
|
get vm(): T;
|
1173
|
-
props():
|
1174
|
-
|
1175
|
-
};
|
1176
|
-
props(selector: string): any;
|
1185
|
+
props(): T['$props'];
|
1186
|
+
props<Selector extends keyof T['$props']>(selector: Selector): T['$props'][Selector];
|
1177
1187
|
emitted<T = unknown>(): Record<string, T[]>;
|
1178
1188
|
emitted<T = unknown[]>(eventName: string): undefined | T[];
|
1179
1189
|
isVisible(): boolean;
|
1180
1190
|
setData(data: Record<string, unknown>): Promise<void>;
|
1181
|
-
setProps(props:
|
1191
|
+
setProps(props: Partial<T['$props']>): Promise<void>;
|
1182
1192
|
setValue(value: unknown, prop?: string): Promise<void>;
|
1183
1193
|
unmount(): void;
|
1184
1194
|
}
|
@@ -1186,6 +1196,10 @@ declare class VueWrapper<T extends Omit<ComponentPublicInstance, '$emit' | keyof
|
|
1186
1196
|
type CustomCreateStub = (params: {
|
1187
1197
|
name: string;
|
1188
1198
|
component: ConcreteComponent;
|
1199
|
+
registerStub: (config: {
|
1200
|
+
source: Component;
|
1201
|
+
stub: Component;
|
1202
|
+
}) => void;
|
1189
1203
|
}) => ConcreteComponent;
|
1190
1204
|
|
1191
1205
|
interface GlobalConfigOptions {
|
@@ -1216,36 +1230,35 @@ declare class Pluggable<Instance = DOMWrapper<Node>> {
|
|
1216
1230
|
reset(): void;
|
1217
1231
|
}
|
1218
1232
|
|
1219
|
-
type
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
}
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
declare function renderToString<
|
1244
|
-
|
1245
|
-
}
|
1246
|
-
[key in PropNames]?: any;
|
1247
|
-
}
|
1248
|
-
declare function renderToString<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D extends {}, C extends ComputedOptions = {}, M extends Record<string, Function> = {}, E extends EmitsOptions = Record<string, any>, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, E, Mixin, Extends, EE>, options?: MountingOptions$1<ExtractPropTypes<PropsOptions> & PublicProps$1, D>): Promise<string>;
|
1233
|
+
type ComponentProps<T> = T extends new (...args: any) => {
|
1234
|
+
$props: infer P;
|
1235
|
+
} ? NonNullable<P> : T extends (props: infer P, ...args: any) => any ? P : {};
|
1236
|
+
type ComponentSlots<T> = T extends new (...args: any) => {
|
1237
|
+
$slots: infer S;
|
1238
|
+
} ? NonNullable<S> : T extends (props: any, ctx: {
|
1239
|
+
slots: infer S;
|
1240
|
+
attrs: any;
|
1241
|
+
emit: any;
|
1242
|
+
}, ...args: any) => any ? NonNullable<S> : {};
|
1243
|
+
|
1244
|
+
type ShimSlotReturnType<T> = T extends (...args: infer P) => any ? (...args: P) => any : never;
|
1245
|
+
type WithArray<T> = T | T[];
|
1246
|
+
type ComponentData<T> = T extends {
|
1247
|
+
data?(...args: any): infer D;
|
1248
|
+
} ? D : {};
|
1249
|
+
type ComponentMountingOptions$1<T, P extends ComponentProps<T> = ComponentProps<T>> = Omit<MountingOptions$1<P, ComponentData<T>>, 'slots'> & {
|
1250
|
+
slots?: {
|
1251
|
+
[K in keyof ComponentSlots<T>]: WithArray<ShimSlotReturnType<ComponentSlots<T>[K]> | string | VNode | (new () => any) | {
|
1252
|
+
template: string;
|
1253
|
+
}>;
|
1254
|
+
};
|
1255
|
+
} & Record<string, unknown>;
|
1256
|
+
|
1257
|
+
declare function renderToString<T, C = T extends ((...args: any) => any) | (new (...args: any) => any) ? T : T extends {
|
1258
|
+
props?: infer Props;
|
1259
|
+
} ? DefineComponent<Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[] ? {
|
1260
|
+
[key in PropNames extends string ? PropNames : string]?: any;
|
1261
|
+
} : Props> : DefineComponent>(originalComponent: T, options?: ComponentMountingOptions$1<C> & Pick<RenderMountingOptions<any>, 'attachTo'>): Promise<string>;
|
1249
1262
|
|
1250
1263
|
declare function createWrapperError<T extends object>(wrapperType: 'DOMWrapper' | 'VueWrapper'): T;
|
1251
1264
|
|
@@ -1258,27 +1271,7 @@ declare const VueTestUtils: {
|
|
1258
1271
|
renderToString: typeof renderToString;
|
1259
1272
|
enableAutoUnmount: typeof enableAutoUnmount;
|
1260
1273
|
disableAutoUnmount: typeof disableAutoUnmount;
|
1261
|
-
RouterLinkStub:
|
1262
|
-
to: {
|
1263
|
-
type: (ObjectConstructor | StringConstructor)[];
|
1264
|
-
required: true;
|
1265
|
-
};
|
1266
|
-
custom: {
|
1267
|
-
type: BooleanConstructor;
|
1268
|
-
default: boolean;
|
1269
|
-
};
|
1270
|
-
}, unknown, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
|
1271
|
-
to: {
|
1272
|
-
type: (ObjectConstructor | StringConstructor)[];
|
1273
|
-
required: true;
|
1274
|
-
};
|
1275
|
-
custom: {
|
1276
|
-
type: BooleanConstructor;
|
1277
|
-
default: boolean;
|
1278
|
-
};
|
1279
|
-
}>>, {
|
1280
|
-
custom: boolean;
|
1281
|
-
}>;
|
1274
|
+
RouterLinkStub: any;
|
1282
1275
|
VueWrapper: typeof VueWrapper;
|
1283
1276
|
DOMWrapper: typeof DOMWrapper;
|
1284
1277
|
BaseWrapper: typeof BaseWrapper;
|
@@ -1378,15 +1371,5 @@ declare function mount<PropsOptions extends Readonly<ComponentPropsOptions>, Raw
|
|
1378
1371
|
wrapper: VueWrapper<ComponentPublicInstance<ExtractPropTypes<PropsOptions>, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes<PropsOptions>>>;
|
1379
1372
|
component: VueWrapper<ComponentPublicInstance<ExtractPropTypes<PropsOptions>, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes<PropsOptions>>>['vm'];
|
1380
1373
|
}>;
|
1381
|
-
/**
|
1382
|
-
* Helper function for mounting a component quickly in test hooks.
|
1383
|
-
* @example
|
1384
|
-
* import {mountCallback} from '@cypress/vue'
|
1385
|
-
* beforeEach(mountVue(component, options))
|
1386
|
-
*
|
1387
|
-
* Removed as of Cypress 11.0.0.
|
1388
|
-
* @see https://on.cypress.io/migration-11-0-0-component-testing-updates
|
1389
|
-
*/
|
1390
|
-
declare function mountCallback(component: any, options?: any): () => void;
|
1391
1374
|
|
1392
|
-
export { CyMountOptions, VueTestUtils, mount
|
1375
|
+
export { CyMountOptions, VueTestUtils, mount };
|
package/vue/vue/package.json
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
"@cypress/mount-utils": "0.0.0-development",
|
19
19
|
"@vitejs/plugin-vue": "5.0.4",
|
20
20
|
"@vue/compiler-sfc": "3.2.47",
|
21
|
-
"@vue/test-utils": "2.
|
21
|
+
"@vue/test-utils": "2.4.6",
|
22
22
|
"axios": "0.21.2",
|
23
23
|
"cypress": "0.0.0-development",
|
24
24
|
"debug": "^4.3.4",
|
@@ -42,7 +42,7 @@
|
|
42
42
|
"src/**/*.js"
|
43
43
|
],
|
44
44
|
"engines": {
|
45
|
-
"node": ">=
|
45
|
+
"node": ">=18"
|
46
46
|
},
|
47
47
|
"types": "dist/index.d.ts",
|
48
48
|
"license": "MIT",
|
@@ -82,9 +82,6 @@
|
|
82
82
|
"nx": {
|
83
83
|
"targets": {
|
84
84
|
"build": {
|
85
|
-
"dependsOn": [
|
86
|
-
"!@cypress/react18:build"
|
87
|
-
],
|
88
85
|
"outputs": [
|
89
86
|
"{workspaceRoot}/cli/vue",
|
90
87
|
"{projectRoot}/dist"
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# @cypress/angular-signals
|
2
|
-
|
3
|
-
Mount Angular components in the open source [Cypress.io](https://www.cypress.io/) test runner. This package is an extension of `@cypress/angular`, but with [signals](https://angular.dev/guide/signals) support.
|
4
|
-
|
5
|
-
> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Angular Component Testing Docs](https://docs.cypress.io/guides/component-testing/angular/overview) for mounting Angular components. Installing and importing `mount` from `@cypress/angular-signals` should only be done for advanced use-cases.
|
6
|
-
|
7
|
-
## Development
|
8
|
-
|
9
|
-
Run `yarn build` to compile and sync packages to the `cypress` cli package.
|
10
|
-
|
11
|
-
## [Changelog](./CHANGELOG.md)
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# @cypress/angular-signals
|
2
|
-
|
3
|
-
Mount Angular components in the open source [Cypress.io](https://www.cypress.io/) test runner. This package is an extension of `@cypress/angular`, but with [signals](https://angular.dev/guide/signals) support.
|
4
|
-
|
5
|
-
> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Angular Component Testing Docs](https://docs.cypress.io/guides/component-testing/angular/overview) for mounting Angular components. Installing and importing `mount` from `@cypress/angular-signals` should only be done for advanced use-cases.
|
6
|
-
|
7
|
-
## Development
|
8
|
-
|
9
|
-
Run `yarn build` to compile and sync packages to the `cypress` cli package.
|
10
|
-
|
11
|
-
## [Changelog](./CHANGELOG.md)
|
@@ -1,136 +0,0 @@
|
|
1
|
-
/// <reference types="cypress" />
|
2
|
-
|
3
|
-
import { InputSignal, WritableSignal, Type } from '@angular/core';
|
4
|
-
import { TestModuleMetadata, ComponentFixture, TestComponentRenderer } from '@angular/core/testing';
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Additional module configurations needed while mounting the component, like
|
8
|
-
* providers, declarations, imports and even component @Inputs()
|
9
|
-
*
|
10
|
-
* @interface MountConfig
|
11
|
-
* @see https://angular.io/api/core/testing/TestModuleMetadata
|
12
|
-
*/
|
13
|
-
interface MountConfig<T> extends TestModuleMetadata {
|
14
|
-
/**
|
15
|
-
* @memberof MountConfig
|
16
|
-
* @description flag to automatically create a cy.spy() for every component @Output() property
|
17
|
-
* @example
|
18
|
-
* export class ButtonComponent {
|
19
|
-
* @Output clicked = new EventEmitter()
|
20
|
-
* }
|
21
|
-
*
|
22
|
-
* cy.mount(ButtonComponent, { autoSpyOutputs: true })
|
23
|
-
* cy.get('@clickedSpy).should('have.been.called')
|
24
|
-
*/
|
25
|
-
autoSpyOutputs?: boolean;
|
26
|
-
/**
|
27
|
-
* @memberof MountConfig
|
28
|
-
* @description flag defaulted to true to automatically detect changes in your components
|
29
|
-
*/
|
30
|
-
autoDetectChanges?: boolean;
|
31
|
-
/**
|
32
|
-
* @memberof MountConfig
|
33
|
-
* @example
|
34
|
-
* import { ButtonComponent } from 'button/button.component'
|
35
|
-
* it('renders a button with Save text', () => {
|
36
|
-
* cy.mount(ButtonComponent, { componentProperties: { text: 'Save' }})
|
37
|
-
* cy.get('button').contains('Save')
|
38
|
-
* })
|
39
|
-
*
|
40
|
-
* it('renders a button with a cy.spy() replacing EventEmitter', () => {
|
41
|
-
* cy.mount(ButtonComponent, {
|
42
|
-
* componentProperties: {
|
43
|
-
* clicked: cy.spy().as('mySpy)
|
44
|
-
* }
|
45
|
-
* })
|
46
|
-
* cy.get('button').click()
|
47
|
-
* cy.get('@mySpy').should('have.been.called')
|
48
|
-
* })
|
49
|
-
*/
|
50
|
-
componentProperties?: Partial<{
|
51
|
-
[P in keyof T]: T[P] extends InputSignal<infer V> ? InputSignal<V> | WritableSignal<V> | V : T[P];
|
52
|
-
}>;
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Type that the `mount` function returns
|
56
|
-
* @type MountResponse<T>
|
57
|
-
*/
|
58
|
-
type MountResponse<T> = {
|
59
|
-
/**
|
60
|
-
* Fixture for debugging and testing a component.
|
61
|
-
*
|
62
|
-
* @memberof MountResponse
|
63
|
-
* @see https://angular.io/api/core/testing/ComponentFixture
|
64
|
-
*/
|
65
|
-
fixture: ComponentFixture<T>;
|
66
|
-
/**
|
67
|
-
* The instance of the root component class
|
68
|
-
*
|
69
|
-
* @memberof MountResponse
|
70
|
-
* @see https://angular.io/api/core/testing/ComponentFixture#componentInstance
|
71
|
-
*/
|
72
|
-
component: T;
|
73
|
-
};
|
74
|
-
declare class CypressTestComponentRenderer extends TestComponentRenderer {
|
75
|
-
insertRootElement(rootElId: string): void;
|
76
|
-
removeAllRootElements(): void;
|
77
|
-
}
|
78
|
-
/**
|
79
|
-
* Mounts an Angular component inside Cypress browser
|
80
|
-
*
|
81
|
-
* @param component Angular component being mounted or its template
|
82
|
-
* @param config configuration used to configure the TestBed
|
83
|
-
* @example
|
84
|
-
* import { mount } from '@cypress/angular-signals'
|
85
|
-
* import { StepperComponent } from './stepper.component'
|
86
|
-
* import { MyService } from 'services/my.service'
|
87
|
-
* import { SharedModule } from 'shared/shared.module';
|
88
|
-
* it('mounts', () => {
|
89
|
-
* mount(StepperComponent, {
|
90
|
-
* providers: [MyService],
|
91
|
-
* imports: [SharedModule]
|
92
|
-
* })
|
93
|
-
* cy.get('[data-cy=increment]').click()
|
94
|
-
* cy.get('[data-cy=counter]').should('have.text', '1')
|
95
|
-
* })
|
96
|
-
*
|
97
|
-
* // or
|
98
|
-
*
|
99
|
-
* it('mounts with template', () => {
|
100
|
-
* mount('<app-stepper></app-stepper>', {
|
101
|
-
* declarations: [StepperComponent],
|
102
|
-
* })
|
103
|
-
* })
|
104
|
-
*
|
105
|
-
* @see {@link https://on.cypress.io/mounting-angular} for more details.
|
106
|
-
*
|
107
|
-
* @returns A component and component fixture
|
108
|
-
*/
|
109
|
-
declare function mount<T>(component: Type<T> | string, config?: MountConfig<T>): Cypress.Chainable<MountResponse<T>>;
|
110
|
-
/**
|
111
|
-
* Creates a new Event Emitter and then spies on it's `emit` method
|
112
|
-
*
|
113
|
-
* @param {string} alias name you want to use for your cy.spy() alias
|
114
|
-
* @returns EventEmitter<T>
|
115
|
-
* @example
|
116
|
-
* import { StepperComponent } from './stepper.component'
|
117
|
-
* import { mount, createOutputSpy } from '@cypress/angular-signals'
|
118
|
-
*
|
119
|
-
* it('Has spy', () => {
|
120
|
-
* mount(StepperComponent, { componentProperties: { change: createOutputSpy('changeSpy') } })
|
121
|
-
* cy.get('[data-cy=increment]').click()
|
122
|
-
* cy.get('@changeSpy').should('have.been.called')
|
123
|
-
* })
|
124
|
-
*
|
125
|
-
* // Or for use with Angular Signals following the output nomenclature.
|
126
|
-
* // see https://v17.angular.io/guide/model-inputs#differences-between-model-and-input/
|
127
|
-
*
|
128
|
-
* it('Has spy', () => {
|
129
|
-
* mount(StepperComponent, { componentProperties: { count: signal(0), countChange: createOutputSpy('countChange') } })
|
130
|
-
* cy.get('[data-cy=increment]').click()
|
131
|
-
* cy.get('@countChange').should('have.been.called')
|
132
|
-
* })
|
133
|
-
*/
|
134
|
-
declare const createOutputSpy: <T>(alias: string) => any;
|
135
|
-
|
136
|
-
export { CypressTestComponentRenderer, MountConfig, MountResponse, createOutputSpy, mount };
|