All files / src/MockEnvironment OptionsComponentsSetup.ts

34.78% Statements 8/23
100% Branches 0/0
0% Functions 0/5
34.78% Lines 8/23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 1062x                     2x             2x   2x                           2x                                 2x                                         2x                             2x                                    
import { MockEnvironmentBuilder } from "./MockEnvironmentBuilder";
import {
  ISearchInterfaceSetup,
  ISearchInterfaceConstructor,
  IComponentConstructorWithResult,
  IComponentConstructorWithResultAndModalBox,
  IBasicComponentSetupWithModalBox,
  IBasicComponentSetup,
  IComponentConstructor,
  IComponentConstructorWithModalBox
} from "./ComponentsSetup";
import {
  SearchInterface,
  $$,
  IQueryResult,
  ISearchInterfaceOptions,
  Component
} from "coveo-search-ui";
import * as Simulate from "../Simulate";
 
export function optionsSearchInterfaceSetup<
  T extends SearchInterface,
  U extends ISearchInterfaceOptions
>(klass: ISearchInterfaceConstructor<T>, options: U): ISearchInterfaceSetup<T> {
  const div = $$("div").el;
  const envBuilder = new MockEnvironmentBuilder().withRoot(div);
  const component = <T>new klass(div, options);
  envBuilder.searchInterface = component;
  return {
    env: envBuilder.build(),
    cmp: component
  };
}
 
export function optionsResultComponentSetup<T extends Component, U>(
  klass: IComponentConstructorWithResult<T>,
  options: U,
  result: IQueryResult
): IBasicComponentSetup<T> {
  const envBuilder = new MockEnvironmentBuilder().withResult(result);
  return {
    env: envBuilder.build(),
    cmp: <T>new klass(
      envBuilder.getBindings().element,
      options,
      envBuilder.getBindings(),
      envBuilder.result
    )
  };
}
 
export function optionsResultComponentSetupWithModalBox<T extends Component, U>(
  klass: IComponentConstructorWithResultAndModalBox<T>,
  options: U,
  result: IQueryResult
): IBasicComponentSetupWithModalBox<T> {
  const envBuilder = new MockEnvironmentBuilder().withResult(result);
  const modalBox = Simulate.modalBoxModule();
 
  return {
    env: envBuilder.build(),
    modalBox: modalBox,
    cmp: <T>new klass(
      envBuilder.getBindings().element,
      options,
      envBuilder.getBindings(),
      envBuilder.result,
      modalBox
    )
  };
}
 
export function optionsComponentSetup<T extends Component, U>(
  klass: IComponentConstructor<T>,
  options: U
): IBasicComponentSetup<T> {
  const envBuilder = new MockEnvironmentBuilder();
  return {
    env: envBuilder.build(),
    cmp: <T>new klass(
      envBuilder.getBindings().element,
      options,
      envBuilder.getBindings()
    )
  };
}
 
export function optionsComponentSetupWithModalBox<T extends Component, U>(
  klass: IComponentConstructorWithModalBox<T>,
  options: U
): IBasicComponentSetupWithModalBox<T> {
  const envBuilder = new MockEnvironmentBuilder();
  const modalBox = Simulate.modalBoxModule();
 
  return {
    env: envBuilder.build(),
    modalBox: modalBox,
    cmp: <T>new klass(
      envBuilder.getBindings().element,
      options,
      envBuilder.getBindings(),
      modalBox
    )
  };
}