Public Access
feat(library): search IGDB and add games by hand
This commit is contained in:
1 parent
d9a39dda22
commit
444b03acee
17 files changed
+699
-35
No files matched your search
@@ -127,3 +127,39 @@ describe('GameLibrary short games', () => {
|
||||
expect(screen.getByRole('button', {name: 'LIBRARY.FILTER_SHORT'}).getAttribute('aria-pressed')).toBe('true');
|
||||
});
|
||||
});
|
||||
|
||||
describe('GameLibrary with games added by hand', () => {
|
||||
const answer = (games, hasSteamId) => vi.fn(async (url) => ({
|
||||
ok: true, status: 200,
|
||||
json: async () => (String(url).includes('/games-count') ? {count: games.length, hasSteamId} : {...page, content: games}),
|
||||
}));
|
||||
const zelda = {appid: -1025, name: 'Zelda', playtimeMinutes: 90, status: 'BACKLOG', source: 'MANUAL',
|
||||
platform: 'Nintendo Switch', imageUrl: 'https://images.igdb.com/z.jpg'};
|
||||
|
||||
it('shows the platform and the IGDB picture of a manual game', async () => {
|
||||
globalThis.fetch = answer([zelda], true);
|
||||
renderLibrary();
|
||||
|
||||
expect(await screen.findByText('Nintendo Switch')).toBeTruthy();
|
||||
expect(document.querySelector('img[src="https://images.igdb.com/z.jpg"]')).toBeTruthy();
|
||||
});
|
||||
|
||||
it('hides the Steam sync for a user without a Steam ID but still offers adding a game', async () => {
|
||||
globalThis.fetch = answer([zelda], false);
|
||||
renderLibrary();
|
||||
|
||||
await screen.findByText('Zelda');
|
||||
await waitFor(() => expect(screen.queryByText('LIBRARY.RESYNC')).toBeNull());
|
||||
expect(screen.getByRole('button', {name: 'MANUAL_GAME.ADD_BUTTON'})).toBeTruthy();
|
||||
});
|
||||
|
||||
it('opens the add panel', async () => {
|
||||
globalThis.fetch = answer([zelda], true);
|
||||
renderLibrary();
|
||||
|
||||
fireEvent.click(await screen.findByRole('button', {name: 'MANUAL_GAME.ADD_BUTTON'}));
|
||||
|
||||
expect(screen.getByText('MANUAL_GAME.ADD_TITLE')).toBeTruthy();
|
||||
expect(screen.getByText('LIBRARY.RESYNC')).toBeTruthy();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user