import { vi } from 'vitest';
import { buildMockController, buildMockControllerWithInitialState, } from './mock-controller.js';
export function defineMockController() {
    return {
        build: vi.fn((_engine) => {
            return buildMockController();
        }),
    };
}
export function defineMockControllerWithProps() {
    return {
        buildWithProps: vi.fn((engine, props) => {
            return buildMockControllerWithInitialState(engine, {
                initialState: props?.initialState,
            });
        }),
    };
}
export function defineMockCommerceController(options) {
    return {
        build: vi.fn((_engine) => {
            return buildMockController();
        }),
        listing: options?.listing ?? true,
        search: options?.search ?? true,
        standalone: options?.standalone ?? true,
        recommendation: options?.recommendation ?? true,
    };
}
export function defineMockCommerceControllerWithProps(options) {
    return {
        buildWithProps: vi.fn((engine, props) => ({
            _kind: 'some-kind',
            ...buildMockControllerWithInitialState(engine, {
                initialState: props?.initialState,
            }),
        })),
        listing: options?.listing ?? true,
        search: options?.search ?? true,
        standalone: options?.standalone ?? true,
        recommendation: options?.recommendation ?? true,
    };
}
