title: @ok listener is not triggered on b-modal with jest-test-utils (vue-bootstrap)
body: <p>I am using the vue-bootstrap b-modal with the <code>@ok="save"</code> hook</p>
  
  <p>The mycomponent.vue looks like this: </p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;template&gt;
    &lt;div&gt;
      &lt;b-button @click="add"&gt;open modal&lt;/b-button&gt;
      &lt;b-modal static lazy id="modal-detail" @ok="save"&gt;
        &lt;b-form-input v-model="fooName"&gt;&lt;/b-form-input&gt;
      &lt;/b-modal&gt;
    &lt;/div&gt;
  &lt;/template&gt;
  &lt;script lang="ts"&gt;
  import Vue from "vue";
  import Component from "vue-class-component";
  
  import { RestClient } from "./RestClient";
  
  @Component({ name: "fooController" })
  export default class FooController extends Vue {
    public fooName = "";
    public add(): void {
      this.$root.$emit("bv::show::modal", "modal-detail");
    }
    public save(): void {
      console.log("in save method");
      RestClient.create(this.fooName);
    }
  }
  &lt;/script&gt;
  </code></pre>
  
  <p>The RestClient.ts looks like this: </p>
  
  <pre class="lang-js prettyprint-override"><code>export class RestClient {
    static create(payload: string) {
      return payload;
    }
  }
  </code></pre>
  
  <p>The test looks like this:</p>
  
  <pre class="lang-js prettyprint-override"><code>import { createLocalVue, mount } from "@vue/test-utils";
  import BootstrapVue from "bootstrap-vue";
  import MyComponent from "./mycomponent.vue";
  import { RestClient } from "./RestClient";
  
  jest.mock("./RestClient.ts", () =&gt; ({
    RestClient: {
      create: jest.fn(() =&gt; {
        return {};
        //   return Promise.resolve({});
      })
    }
  }));
  
  describe("component test", () =&gt; {
    const localVue = createLocalVue();
    localVue.use(BootstrapVue);
  
    it("should call the create method on the REST client when ok-ing the modal", (done) =&gt; {
      const wrapper = mount(MyComponent, {
        attachToDocument: true,
        localVue
      });
      expect(wrapper.isVueInstance()).toBe(true);
  
      // there is just one button: the open modal button
      wrapper.find("button").trigger("click");
      const modal = wrapper.find("#modal-detail");
  
      modal.vm.$emit("ok");
  
      return wrapper.vm.$nextTick().then(() =&gt; {
        expect(RestClient.create).toBeCalled();
        return wrapper.vm.$nextTick().then(done);
      });
   });
  });
  </code></pre>
  
  <p>I am emitting the <code>ok</code> event on the modal directly.
  Then I am watching for the console.log statement in the save-method to be executed, which i cannot see in the terminal, when executing the test.</p>
  
  <p>Thus, the <code>RestClient.create</code>-method is not being called. 
  Why?</p>