import Vue from 'vue'; import emptyState from '~/environments/components/empty_state.vue'; import mountComponent from '../helpers/vue_mount_component_helper'; describe('environments empty state', () => { let vm; let Component; beforeEach(() => { Component = Vue.extend(emptyState); }); afterEach(() => { vm.$destroy(); }); describe('With permissions', () => { beforeEach(() => { vm = mountComponent(Component, { newPath: 'foo', canCreateEnvironment: true, helpPath: 'bar', }); }); it('renders empty state and new environment button', () => { expect( vm.$el.querySelector('.js-blank-state-title').textContent.trim(), ).toEqual('You don\'t have any environments right now.'); expect( vm.$el.querySelector('.js-new-environment-button').getAttribute('href'), ).toEqual('foo'); }); }); describe('Without permission', () => { beforeEach(() => { vm = mountComponent(Component, { newPath: 'foo', canCreateEnvironment: false, helpPath: 'bar', }); }); it('renders empty state without new button', () => { expect( vm.$el.querySelector('.js-blank-state-title').textContent.trim(), ).toEqual('You don\'t have any environments right now.'); expect( vm.$el.querySelector('.js-new-environment-button'), ).toBeNull(); }); }); });