text: import { mount } from '@vue/test-utils'
  
  import Paginate from './Paginate'
  
  const localVue = global.localVue
  
  describe('Paginate.vue', () => {
    let propsData, wrapper, nextButton, backButton
  
    beforeEach(() => {
      propsData = {}
    })
  
    const Wrapper = () => {
      return mount(Paginate, { propsData, localVue })
    }
    describe('mount', () => {
      beforeEach(() => {
        wrapper = Wrapper()
      })
  
      describe('next button', () => {
        beforeEach(() => {
          propsData.hasNext = true
          wrapper = Wrapper()
          nextButton = wrapper.findAll('.ds-button').at(0)
        })
  
        it('is disabled by default', () => {
          propsData = {}
          wrapper = Wrapper()
          nextButton = wrapper.findAll('.ds-button').at(0)
          expect(nextButton.attributes().disabled).toEqual('disabled')
        })
  
        it('is not disabled if hasNext is true', () => {
          expect(nextButton.attributes().disabled).toBeUndefined()
        })
  
        it('emits next when clicked', async () => {
          await nextButton.trigger('click')
          expect(wrapper.emitted().next).toHaveLength(1)
        })
      })
  
      describe('back button', () => {
        beforeEach(() => {
          propsData.hasPrevious = true
          wrapper = Wrapper()
          backButton = wrapper.findAll('.ds-button').at(1)
        })
  
        it('is disabled by default', () => {
          propsData = {}
          wrapper = Wrapper()
          backButton = wrapper.findAll('.ds-button').at(1)
          expect(backButton.attributes().disabled).toEqual('disabled')
        })
  
        it('is not disabled if hasPrevious is true', () => {
          expect(backButton.attributes().disabled).toBeUndefined()
        })
  
        it('emits back when clicked', async () => {
          await backButton.trigger('click')
          expect(wrapper.emitted().back).toHaveLength(1)
        })
      })
    })
  })
  