Écrans : accueil, bibliothèque (grille virtualisée, filtres, tri, recherche), collections, fiche jeu, ajout manuel, choix des jaquettes
Some checks are pending
CI / windows (push) Waiting to run
Some checks are pending
CI / windows (push) Waiting to run
This commit is contained in:
parent
baa9f7391c
commit
1cfe89d1fd
43 changed files with 1890 additions and 45 deletions
24
tests/library-ui.test.ts
Normal file
24
tests/library-ui.test.ts
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import { describe, expect, it } from 'vitest'
|
||||
import { filterGames } from '../src/renderer/src/screens/filter'
|
||||
import type { Game } from '../src/shared/types'
|
||||
|
||||
const g = (name: string, o: Partial<Game> = {}): Game => ({ id: name, platform: 'steam', platformId: name, name, installed: true, favorite: false, hidden: false, addedAt: 0, playtime: 0, collections: [], media: {}, ...o })
|
||||
const games = [g('The Witcher 3: Wild Hunt', { platform: 'gog', playtime: 50 }), g('Hades', { favorite: true, lastPlayed: 10, addedAt: 5 }), g('Pokémon Légendes', { installed: false, playtime: 90 }), g('Celeste', { lastPlayed: 20 })]
|
||||
const names = (o: Parameters<typeof filterGames>[1]) => filterGames(games, o).map((x) => x.name)
|
||||
|
||||
describe('filtres de la bibliothèque', () => {
|
||||
it('cherche par mots, sans accents ni casse', () => {
|
||||
expect(names({ filter: 'all', sort: 'name', query: 'witcher 3' })).toEqual(['The Witcher 3: Wild Hunt'])
|
||||
expect(names({ filter: 'all', sort: 'name', query: 'pokemon legendes' })).toEqual(['Pokémon Légendes'])
|
||||
})
|
||||
it('filtre installés, favoris, plateforme', () => {
|
||||
expect(names({ filter: 'installed', sort: 'name', query: '' })).not.toContain('Pokémon Légendes')
|
||||
expect(names({ filter: 'favorites', sort: 'name', query: '' })).toEqual(['Hades'])
|
||||
expect(names({ filter: 'gog', sort: 'name', query: '' })).toEqual(['The Witcher 3: Wild Hunt'])
|
||||
})
|
||||
it('trie', () => {
|
||||
expect(names({ filter: 'all', sort: 'name', query: '' })).toEqual(['Celeste', 'Hades', 'Pokémon Légendes', 'The Witcher 3: Wild Hunt'])
|
||||
expect(names({ filter: 'all', sort: 'playtime', query: '' })[0]).toBe('Pokémon Légendes')
|
||||
expect(names({ filter: 'all', sort: 'recent', query: '' }).slice(0, 2)).toEqual(['Celeste', 'Hades'])
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue