1234567891011121314151617181920212223242526272829 |
- import { mount } from '@vue/test-utils'
- import { merge } from 'lodash'
- const makeMount = <C, O, E>(element: C, defaultOptions: O) => {
- return (props: (E | O) | (E & O) = {} as E) =>
- mount(element, merge({}, defaultOptions, props))
- }
- interface Options {
- data?: () => {
- [key: string]: unknown
- }
- methods?: {
- [key: string]: (...args: unknown[]) => any
- }
- }
- export const makeMountFunc = <T extends Record<string, unknown>>(
- defaultOptions: T
- ) => {
- return (template: string, options: Options) => {
- return mount({
- ...merge({}, defaultOptions, options),
- template,
- })
- }
- }
- export default makeMount
|