BigW Consortium Gitlab

sidebar_subscriptions_spec.js 1.24 KB
Newer Older
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
import Vue from 'vue';
import sidebarSubscriptions from '~/sidebar/components/subscriptions/sidebar_subscriptions.vue';
import SidebarMediator from '~/sidebar/sidebar_mediator';
import SidebarService from '~/sidebar/services/sidebar_service';
import SidebarStore from '~/sidebar/stores/sidebar_store';
import eventHub from '~/sidebar/event_hub';
import mountComponent from '../helpers/vue_mount_component_helper';
import Mock from './mock_data';

describe('Sidebar Subscriptions', function () {
  let vm;
  let SidebarSubscriptions;

  beforeEach(() => {
    SidebarSubscriptions = Vue.extend(sidebarSubscriptions);
    // Setup the stores, services, etc
    // eslint-disable-next-line no-new
    new SidebarMediator(Mock.mediator);
  });

  afterEach(() => {
    vm.$destroy();
    SidebarService.singleton = null;
    SidebarStore.singleton = null;
    SidebarMediator.singleton = null;
  });

  it('calls the mediator toggleSubscription on event', () => {
Clement Ho committed
29 30 31 32 33
    const mediator = new SidebarMediator();
    spyOn(mediator, 'toggleSubscription').and.returnValue(Promise.resolve());
    vm = mountComponent(SidebarSubscriptions, {
      mediator,
    });
34 35 36

    eventHub.$emit('toggleSubscription');

Clement Ho committed
37
    expect(mediator.toggleSubscription).toHaveBeenCalled();
38 39
  });
});