@ -1,10 +1,57 @@
import { page } from '@vitest/browser/context' ;
import { describe , expect , it } from 'vitest' ;
import { describe , expect , it , vi } from 'vitest' ;
import { render } from 'vitest-browser-svelte' ;
import TarjetaCancion from './TarjetaCancion.svelte' ;
import type { PistaReproductor } from '$lib/player/player.svelte' ;
import type { Cancion } from '$lib/types' ;
/ *
* La tarjeta busca en el cat á logo el disco y el estilo de su tema , y desde que
* el cat á logo est á en la base eso baja por ` page.data ` . Aqu í se monta suelta ,
* as í que hay que d á rselo : sin esto la l í nea de contexto sale vac í a y la
* prueba fallaba sin que hubiera nada roto en el componente .
* /
vi . mock ( '$app/state' , ( ) = > ( {
page : {
// Los botones de carrito y favorito lo leen para saber a dónde volver.
url : new URL ( 'http://localhost/musica' ) ,
get data() {
return {
catalogo : {
estilos : [
{
slug : 'baladas-romanticas' ,
nombre : 'Baladas románticas' ,
resumen : '' ,
orden : 0 ,
principal : true
}
] ,
albumes : [
{
slug : 'como-si-nada' ,
titulo : 'Como si nada' ,
estilo : 'baladas-romanticas' ,
fecha : '2024-01-01' ,
tipo : 'album' ,
portada : '/images/como-si-nada/portada.svg' ,
resumen : '' ,
destacado : false ,
enlaces : { } ,
sintetico : false ,
edicion : { formatos : [ ] , creditos : [ ] }
}
] ,
canciones : [ ]
} ,
carrito : [ ] ,
compras : [ ] ,
favoritos : [ ]
} ;
}
}
} ) ) ;
function cancion ( parcial : Partial < Cancion > = { } ) : Cancion {
return {
slug : 'como-si-nada' ,