import { describe, expect, it } from 'vite-plus/test'
import { createHarness } from '@/__tests__/TestHarness'
import { screen } from '@testing-library/vue'
import Component from './MediaListItem.vue'

describe('mediaListItem.vue', () => {
  const h = createHarness()

  it('renders a playable', async () => {
    const item = h.factory('song').make({
      basename: 'whatever.mp3',
    })

    const { emitted } = h.render(Component, {
      props: {
        item,
      },
    })

    await h.user.click(screen.getByTitle('Play'))

    expect(emitted()['play-song']).toBeTruthy()
  })

  it('renders a folder', async () => {
    const item = h.factory('folder').make()

    const { emitted } = h.render(Component, {
      props: {
        item,
      },
    })

    await h.user.click(screen.getByTitle('Open'))

    expect(emitted()['open-folder']).toBeTruthy()
  })
})
