Commit b05bfee2 authored by Marcos Peña's avatar Marcos Peña Committed by Georg Krause
Browse files

Fix moderation interface when missing album cover

parent 31c0b91b
Pipeline #16661 passed with stages
in 12 minutes and 19 seconds
Fixes crash in album moderation interface when missing cover (#1474)
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<div class="ui column"> <div class="ui column">
<div class="segment-content"> <div class="segment-content">
<h2 class="ui header"> <h2 class="ui header">
<img alt="" v-if="object.cover.urls.original" v-lazy="$store.getters['instance/absoluteUrl'](object.cover.urls.medium_square_crop)"> <img alt="" v-if="object.cover && object.cover.urls.original" v-lazy="$store.getters['instance/absoluteUrl'](object.cover.urls.medium_square_crop)">
<img alt="" v-else src="../../../assets/audio/default-cover.png"> <img alt="" v-else src="../../../assets/audio/default-cover.png">
<div class="content"> <div class="content">
{{ object.title | truncate(100) }} {{ object.title | truncate(100) }}
......
const sinon = require('sinon')
import { expect } from 'chai'
import { shallowMount, createLocalVue } from '@vue/test-utils'
import AlbumDetail from '@/views/admin/library/AlbumDetail.vue'
import GetTextPlugin from 'vue-gettext'
import HumanDate from '@/components/common/HumanDate.vue'
import DangerousButton from '@/components/common/DangerousButton.vue'
describe('views/admin/library', () => {
let wrapper
let sandbox
beforeEach(() => {
sandbox = sinon.createSandbox()
})
afterEach(() => {
sandbox.restore()
})
describe('Album details', () => {
it('displays default cover', async () => {
const album = { cover: null, artist: { id: null }, title: "dummy" }
const localVue = createLocalVue()
localVue.directive('title', (() => null))
localVue.directive('dropdown', (() => null))
localVue.use(GetTextPlugin, { translations: {} })
// overrides axios calls
sandbox.stub(AlbumDetail.methods, "fetchData").callsFake(() => null)
sandbox.stub(AlbumDetail.methods, "fetchStats").callsFake(() => null)
wrapper = shallowMount(AlbumDetail, {
localVue,
data() {
return {
isLoading: false,
isLoadingStats: false,
object: album,
stats: [],
}
},
mocks: {
$store: {
state: { auth: { profile: null }, ui: { lastDate: null } }
}
},
stubs: {
'human-date': HumanDate,
'dangerous-button': DangerousButton
},
computed: { labels: () => { return { statsWarning: null } } }
})
expect(wrapper.find('img').attributes('src')).to.include("default-cover")
})
})
})
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment