import { describe, it, expect } from 'vitest'
import { mount } from '@vue/test-utils'
import { createRouter, createMemoryHistory } from 'vue-router'
import EmptyState from '../EmptyState.vue'

const router = createRouter({
  history: createMemoryHistory(),
  routes: [
    { path: '/', component: { template: '<div />' } },
    { path: '/create', name: 'create', component: { template: '<div />' } },
  ],
})

function mountEmptyState() {
  return mount(EmptyState, {
    global: {
      plugins: [router],
    },
  })
}

describe('EmptyState', () => {
  it('renders an inviting message', () => {
    const wrapper = mountEmptyState()
    expect(wrapper.text()).toContain('No events yet')
  })

  it('renders a Create Event link', () => {
    const wrapper = mountEmptyState()
    const link = wrapper.find('a')
    expect(link.exists()).toBe(true)
    expect(link.text()).toContain('Create Event')
    expect(link.attributes('href')).toBe('/create')
  })
})
