Как создать оболочку vue-test-utils для Bootstrap-Vue b-modal? - PullRequest
1 голос
/ 23 октября 2019

В шаблоне компонента есть следующее b-modal, и я пытаюсь написать модульный тест, проверяющий, был ли вызван метод updateDashBoardDataClone для пользовательского события updateDashBoardDataClone.

        <b-modal
          id="reorder-modal"
          title="Reorder Dashboard"
          @ok="storeNewOrder"
          ok-title="Save"
          ok-variant="success"
          :ok-disabled="disableSave">
          <reorder-modal
            :dash-board-data-clone="dashBoardDataClone"
            :disable-save="disableSave"
            @updateDisableSave="updateDisableSave"
            @updateDashBoardDataClone="updateDashBoardDataClone"/>
        </b-modal>

ReorderModalis

<template>
  <div>
    <draggable-component
      v-model="dashBoardDataLocal"
      :move="updatePosition"
      handle=".handle"
      ghost-class="ghost"
      @start="drag=true"
      @end="drag=false">
      <div
        v-for="card in dashBoardDataLocal"
        :key="card.id"
        class="card-list-item border p-2 my-3">
          <font-awesome-icon icon="align-justify" class="handle"/>
          {{card.db_name}}
      </div>
    </draggable-component>
  </div>
</template>

Вот тест:

  it('it should call updateDashBoardDataClone method on updateDashBoardDataClone custom event', () => {
    const updateDashBoardDataCloneStub = jest.fn()
    wrapper.setMethods({ updateDashBoardDataClone: updateDashBoardDataCloneStub })
    expect(updateDashBoardDataCloneStub).not.toHaveBeenCalled()
    wrapper.find('.col-6 button').trigger('click')
    let modal = document.getElementById('reorder-modal')
    // console.log(modal)
    // let modalWrapper = createWrapper(modal)
    // console.log(modalWrapper)
    // modalWrapper.vm.$emit('updateDashBoardDataClone')
    // expect(updateDashBoardDataCloneStub).toHaveBeenCalled()
    // modalWrapper.destroy()
  })

document.getElementById действительно находит модал, однако let modalWrapper = createWrapper(modal) возвращает пустую оболочку.

Кто-нибудь знает, как я могу создать обертку для модала? Приветствия

...