funkwhale/front/test/specs/views/admin/library.test.ts

43 wiersze
1.3 KiB
TypeScript

import DangerousButton from '~/components/common/DangerousButton.vue'
import AlbumDetail from '~/views/admin/library/AlbumDetail.vue'
import SanitizedHtml from '~/components/SanitizedHtml.vue'
import HumanDate from '~/components/common/HumanDate.vue'
import MockAdapter from 'axios-mock-adapter'
import axios from 'axios'
import { shallowMount } from '@vue/test-utils'
import { sleep } from '?/utils'
import router from '~/router'
import store from '~/store'
const axiosMock = new MockAdapter(axios)
describe('views/admin/library', () => {
describe('Album details', () => {
it('displays default cover', async () => {
const album = { cover: null, artist: { id: 1 }, title: 'dummy', id: 1, creation_date: '2020-01-01' }
axiosMock.onGet('manage/library/albums/1/').reply(200, album)
axiosMock.onGet('manage/library/albums/1/stats/').reply(200, {})
const wrapper = shallowMount(AlbumDetail, {
props: { id: 1 },
directives: {
dropdown: () => null,
title: () => null,
lazy: () => null
},
global: {
stubs: { DangerousButton, HumanDate, SanitizedHtml },
plugins: [router, store]
}
})
await sleep()
expect(wrapper.find('img').attributes('src')).to.include('default-cover')
})
})
})