La tarjeta necesita el catálogo, y su prueba se lo da

Busca en él el disco y el estilo de su tema, y desde que el catálogo está
en la base eso baja por `page.data`. La prueba la monta suelta, así que
sin dárselo la línea de contexto salía vacía y fallaba sin que hubiera
nada roto en el componente.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
master
dev 4 weeks ago
parent 0b823d44b4
commit 3cad3f590c

@ -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',

Loading…
Cancel
Save

Powered by TurnKey Linux.