gitlab-org--gitlab-foss/spec/javascripts/sidebar/sidebar_subscriptions_spec.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-10-31 12:15:03 -04:00
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 mountComponent from 'spec/helpers/vue_mount_component_helper';
2017-10-31 12:15:03 -04:00
import Mock from './mock_data';
2018-10-17 03:13:26 -04:00
describe('Sidebar Subscriptions', function() {
2017-10-31 12:15:03 -04:00
let vm;
let SidebarSubscriptions;
beforeEach(() => {
SidebarSubscriptions = Vue.extend(sidebarSubscriptions);
// Set up the stores, services, etc
2017-10-31 12:15:03 -04:00
// 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', () => {
2017-12-07 12:37:33 -05:00
const mediator = new SidebarMediator();
spyOn(mediator, 'toggleSubscription').and.returnValue(Promise.resolve());
vm = mountComponent(SidebarSubscriptions, {
mediator,
});
2017-10-31 12:15:03 -04:00
vm.onToggleSubscription();
2017-10-31 12:15:03 -04:00
2017-12-07 12:37:33 -05:00
expect(mediator.toggleSubscription).toHaveBeenCalled();
2017-10-31 12:15:03 -04:00
});
});