Skip to content

Commit

Permalink
test(requests): requesting popular lists
Browse files Browse the repository at this point in the history
  • Loading branch information
seferturan committed Feb 9, 2025
1 parent 0cd3ec4 commit 8edc8d0
Show file tree
Hide file tree
Showing 8 changed files with 174 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { MovieHereticMappedMock } from '$mocks/data/summary/movies/heretic/mapped/MovieHereticMappedMock.ts';
import { runQuery } from '$test/beds/query/runQuery.ts';
import { createQuery } from '@tanstack/svelte-query';
import { describe, expect, it } from 'vitest';
import { HereticListsMappedMock } from '../../../../mocks/data/summary/movies/heretic/mapped/HereticListsMappedMock.ts';
import { movieListsQuery } from './movieListsQuery.ts';

describe('movieListsQuery', () => {
it('should query for lists that contain Heretic (2024)', async () => {
const result = await runQuery({
factory: () =>
createQuery(
movieListsQuery({ slug: MovieHereticMappedMock.slug, limit: 10 }),
),
mapper: (response) => response?.data,
});

expect(result).to.deep.equal(HereticListsMappedMock);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { ShowSiloMappedMock } from '$mocks/data/summary/shows/silo/mapped/ShowSiloMappedMock.ts';
import { runQuery } from '$test/beds/query/runQuery.ts';
import { createQuery } from '@tanstack/svelte-query';
import { describe, expect, it } from 'vitest';
import { SiloListsMappedMock } from '../../../../mocks/data/summary/shows/silo/mapped/SiloListsMappedMock.ts';
import { showListsQuery } from './showListsQuery.ts';

describe('showListsQuery', () => {
it('should query for lists that contain Silo (2023)', async () => {
const result = await runQuery({
factory: () =>
createQuery(
showListsQuery({ slug: ShowSiloMappedMock.slug, limit: 10 }),
),
mapper: (response) => response?.data,
});

expect(result).to.deep.equal(SiloListsMappedMock);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import type { MediaListSummary } from '$lib/requests/models/MediaListSummary.ts';

export const HereticListsMappedMock: MediaListSummary[] = [
{
'description': 'This list contains Heretic',
'id': 1234,
'name': 'Heretics only',
'slug': 'heretics-only',
'user': {
'avatar': {
'url':
'https://walter-r2.trakt.tv/images/users/014/366/083/avatars/large/disco_cop.png',
},
'isVip': true,
'slug': 'tequila_sunset',
'userName': 'harrier_dubois',
},
},
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import type { ListResponse } from '$lib/api.ts';

export const HereticListsResponseMock: ListResponse[] = [
{
'name': 'Heretics only',
'description': 'This list contains Heretic',
'privacy': 'public',
'share_link': 'https://trakt.tv/lists/1234',
'type': 'personal',
'display_numbers': false,
'allow_comments': true,
'sort_by': 'added',
'sort_how': 'asc',
'created_at': '2018-07-29T10:16:22.000Z',
'updated_at': '2025-02-09T21:39:59.000Z',
'item_count': 1,
'comment_count': 5,
'likes': 4161,
'ids': {
'trakt': 1234,
'slug': 'heretics-only',
},
'user': {
'username': 'harrier_dubois',
'private': false,
'name': 'Harry Du Bois',
'vip': true,
'vip_ep': false,
'ids': {
'slug': 'tequila_sunset',
'trakt': 41152,
},
'images': {
'avatar': {
'full':
'https://walter-r2.trakt.tv/images/users/014/366/083/avatars/large/disco_cop.png',
},
},
},
},
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import type { MediaListSummary } from '$lib/requests/models/MediaListSummary.ts';

export const SiloListsMappedMock: MediaListSummary[] = [
{
'description': 'There is no escape from this list',
'id': 5678,
'name': 'Silos',
'slug': 'silos',
'user': {
'avatar': {
'url':
'https://walter-r2.trakt.tv/images/users/014/366/083/avatars/large/disco_cop.png',
},
'isVip': true,
'slug': 'tequila_sunset',
'userName': 'harrier_dubois',
},
},
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import type { ListResponse } from '$lib/api.ts';

export const SiloListsResponseMock: ListResponse[] = [
{
'name': 'Silos',
'description': 'There is no escape from this list',
'privacy': 'public',
'share_link': 'https://trakt.tv/lists/5678',
'type': 'personal',
'display_numbers': false,
'allow_comments': true,
'sort_by': 'added',
'sort_how': 'asc',
'created_at': '2018-07-29T10:16:22.000Z',
'updated_at': '2025-02-09T21:39:59.000Z',
'item_count': 1,
'comment_count': 2,
'likes': 892,
'ids': {
'trakt': 5678,
'slug': 'silos',
},
'user': {
'username': 'harrier_dubois',
'private': false,
'name': 'Harry Du Bois',
'vip': true,
'vip_ep': false,
'ids': {
'slug': 'tequila_sunset',
'trakt': 41152,
},
'images': {
'avatar': {
'full':
'https://walter-r2.trakt.tv/images/users/014/366/083/avatars/large/disco_cop.png',
},
},
},
},
];
7 changes: 7 additions & 0 deletions projects/client/src/mocks/handlers/movies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { MoviesAnticipatedResponseMock } from '../data/movies/response/MoviesAnt
import { MoviesPopularResponseMock } from '../data/movies/response/MoviesPopularResponseMock.ts';
import { MoviesTrendingResponseMock } from '../data/movies/response/MoviesTrendingResponseMock.ts';
import { MediaWatchingResponseMock } from '../data/summary/common/response/MediaWatchingResponseMock.ts';
import { HereticListsResponseMock } from '../data/summary/movies/heretic/response/HereticListsResponseMock.ts';
import { MovieHereticLanguageResponseMock } from '../data/summary/movies/heretic/response/MovieHereticLanguageResponseMock.ts';
import { MovieHereticPeopleResponseMock } from '../data/summary/movies/heretic/response/MovieHereticPeopleResponseMock.ts';
import { MovieHereticRatingsResponseMock } from '../data/summary/movies/heretic/response/MovieHereticRatingsResponseMock.ts';
Expand Down Expand Up @@ -86,4 +87,10 @@ export const movies = [
return HttpResponse.json(MoviesAnticipatedResponseMock);
},
),
http.get(
`http://localhost/movies/${MovieHereticResponseMock.ids.slug}/lists/all/popular*`,
() => {
return HttpResponse.json(HereticListsResponseMock);
},
),
];
7 changes: 7 additions & 0 deletions projects/client/src/mocks/handlers/shows.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { ShowSiloSeasonsResponseMock } from '../data/summary/shows/silo/response
import { ShowSiloStatsResponseMock } from '../data/summary/shows/silo/response/ShowSiloStatsResponseMock.ts';
import { ShowSiloStudiosResponseMock } from '../data/summary/shows/silo/response/ShowSiloStudiosResponseMock.ts';
import { ShowSiloWatchNowResponseMock } from '../data/summary/shows/silo/response/ShowSiloWatchNowResponseMock.ts';
import { SiloListsResponseMock } from '../data/summary/shows/silo/response/SiloListsResponseMock.ts';

export const shows = [
http.get(
Expand Down Expand Up @@ -145,4 +146,10 @@ export const shows = [
return HttpResponse.json(ShowSiloRelatedResponseMock);
},
),
http.get(
`http://localhost/shows/${ShowSiloResponseMock.ids.slug}/lists/all/popular*`,
() => {
return HttpResponse.json(SiloListsResponseMock);
},
),
];

0 comments on commit 8edc8d0

Please sign in to comment.