Skip to content

Commit 00647d3

Browse files
committed
test: add mock helper methods for setting mocks
1 parent 83e7dfa commit 00647d3

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

src/tests/mockHelpers.ts

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import { GameModel } from "../models/GameModel";
2+
import { MovieModel } from '../models/MovieModel';
3+
import { MusicReleaseModel } from "../models/MusicReleaseModel";
4+
import { WikiModel } from '../models/WikiModel';
5+
import { MediaType } from "../utils/MediaType";
6+
import { apiMock } from "./ParameterizedAPI.test";
7+
import MALMockMovie from "./ResponseMocks/MALMockMovie.json";
8+
import MusicBrainzResponseMock from "./ResponseMocks/MusicBrainzMockResponse.json";
9+
import OMDBMockMovie from "./ResponseMocks/OMDBMockResponse.json";
10+
import SteamAPIResponseMock from "./ResponseMocks/SteamAPIMockResponse.json";
11+
import WikipediaMockResponse from "./ResponseMocks/WikipediaMockResponse.json";
12+
13+
export function setWikipediaResponseMock() {
14+
let ret = [];
15+
let wikiresponse = WikipediaMockResponse.query.search[0];
16+
ret.push(new WikiModel({
17+
type: 'wiki',
18+
title: wikiresponse.title,
19+
englishTitle: wikiresponse.title,
20+
year: '',
21+
dataSource: apiMock.apiName,
22+
id: wikiresponse.pageid,
23+
}));
24+
return ret;
25+
}
26+
27+
export function setOMDbResponseMock() {
28+
let ret = [];
29+
let omdbresponse = OMDBMockMovie.Search[0];
30+
ret.push(new MovieModel({
31+
type: 'wiki',
32+
title: omdbresponse.Title,
33+
englishTitle: omdbresponse.Title,
34+
year: omdbresponse.Year,
35+
dataSource: apiMock.apiName,
36+
id: omdbresponse.imdbID,
37+
}));
38+
return ret;
39+
}
40+
41+
export function setMALResponseMock() {
42+
let ret = [];
43+
let result = MALMockMovie.data[0];
44+
ret.push(new MovieModel({
45+
type: result.type,
46+
title: result.title,
47+
englishTitle: result.title_english,
48+
year: result.aired.prop.from.year,
49+
dataSource: apiMock.apiName,
50+
id: result.mal_id,
51+
}));
52+
return ret;
53+
}
54+
55+
export function setSteamResponseMock() {
56+
let ret = [];
57+
let steamResponse = SteamAPIResponseMock.applist.apps[0];
58+
ret.push(
59+
new GameModel({
60+
type: MediaType.Game,
61+
title: steamResponse.name,
62+
englishTitle: steamResponse.name,
63+
year: '',
64+
dataSource: apiMock.apiName,
65+
id: steamResponse.appid,
66+
})
67+
)
68+
return ret;
69+
}
70+
71+
export function setMusicBrainzResponseMock() {
72+
let ret = [];
73+
let result = MusicBrainzResponseMock["release-groups"][0];
74+
ret.push(new MusicReleaseModel({
75+
type: 'musicRelease',
76+
title: result.title,
77+
englishTitle: result.title,
78+
year: (new Date(result['first-release-date'])).getFullYear().toString(),
79+
dataSource: apiMock.apiName,
80+
url: '',
81+
id: result.id,
82+
83+
artists: result['artist-credit'].map((a: any) => a.name),
84+
subType: result['primary-type'],
85+
} as MusicReleaseModel));
86+
return ret;
87+
}

0 commit comments

Comments
 (0)