import { mount } from '@vue/test-utils' import ProgressBar from './ProgressBar' describe('ProgessBar.vue', () => { let propsData beforeEach(() => { propsData = { goal: 50000, progress: 10000, } }) const Wrapper = () => mount(ProgressBar, { propsData }) describe('given only goal and progress', () => { it('renders no title', () => { expect(Wrapper().find('.progress-bar__title').exists()).toBe(false) }) it('renders no label', () => { expect(Wrapper().find('.progress-bar__label').exists()).toBe(false) }) it('calculates the progress bar width as a percentage of the goal', () => { expect(Wrapper().vm.progressBarWidth).toBe('width: 20%;') }) }) describe('given a title', () => { beforeEach(() => { propsData.title = 'This is progress' }) it('renders the title', () => { expect(Wrapper().find('.progress-bar__title').text()).toBe('This is progress') }) }) describe('given a label', () => { beforeEach(() => { propsData.label = 'Going well' }) it('renders the label', () => { expect(Wrapper().find('.progress-bar__label').text()).toBe('Going well') }) }) })