Skip to content

Commit da16b2a

Browse files
committed
Clean-up after merge
1 parent 391915e commit da16b2a

15 files changed

+177
-171
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "obsidian-media-db-plugin",
3-
"version": "0.3.1",
3+
"version": "0.3.2",
44
"description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.",
55
"main": "main.js",
66
"scripts": {

src/api/apis/BoardGameGeekAPI.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,16 @@ export class BoardGameGeekAPI extends APIModel {
3232
}
3333

3434
const data = fetchData.text;
35-
const response = new window.DOMParser().parseFromString(data, "text/xml")
35+
const response = new window.DOMParser().parseFromString(data, 'text/xml');
3636

3737
debugLog(response);
3838

3939
let ret: MediaTypeModel[] = [];
4040

41-
for (const boardgame of Array.from(response.querySelectorAll("boardgame"))) {
42-
const id = boardgame.attributes.getNamedItem("objectid")!.value;
43-
const title = boardgame.querySelector("name")!.textContent!;
44-
const year = boardgame.querySelector("yearpublished")?.textContent ?? "";
41+
for (const boardgame of Array.from(response.querySelectorAll('boardgame'))) {
42+
const id = boardgame.attributes.getNamedItem('objectid')!.value;
43+
const title = boardgame.querySelector('name')!.textContent!;
44+
const year = boardgame.querySelector('yearpublished')?.textContent ?? '';
4545

4646
ret.push(new BoardGameModel({
4747
dataSource: this.apiName,
@@ -68,21 +68,21 @@ export class BoardGameGeekAPI extends APIModel {
6868
}
6969

7070
const data = fetchData.text;
71-
const response = new window.DOMParser().parseFromString(data, "text/xml")
71+
const response = new window.DOMParser().parseFromString(data, 'text/xml');
7272
debugLog(response);
7373

74-
const boardgame = response.querySelector("boardgame")!;
75-
const title = boardgame.querySelector("name")!.textContent!;
76-
const year = boardgame.querySelector("yearpublished")?.textContent ?? "";
77-
const image = boardgame.querySelector("image")?.textContent ?? undefined;
78-
const onlineRating = Number.parseFloat(boardgame.querySelector("statistics ratings average")?.textContent ?? "");
79-
const genres = Array.from(boardgame.querySelectorAll("boardgamecategory")).map(n => n!.textContent!);
74+
const boardgame = response.querySelector('boardgame')!;
75+
const title = boardgame.querySelector('name')!.textContent!;
76+
const year = boardgame.querySelector('yearpublished')?.textContent ?? '';
77+
const image = boardgame.querySelector('image')?.textContent ?? undefined;
78+
const onlineRating = Number.parseFloat(boardgame.querySelector('statistics ratings average')?.textContent ?? '');
79+
const genres = Array.from(boardgame.querySelectorAll('boardgamecategory')).map(n => n!.textContent!);
8080

8181
const model = new BoardGameModel({
8282
type: MediaType.BoardGame,
8383
title,
8484
englishTitle: title,
85-
year: year === "0" ? "" : year,
85+
year: year === '0' ? '' : year,
8686
dataSource: this.apiName,
8787
url: `https://boardgamegeek.com/boardgame/${id}`,
8888
id,

src/main.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ export default class MediaDbPlugin extends Plugin {
305305
const erroredFiles: { filePath: string, error: string }[] = [];
306306
let canceled: boolean = false;
307307

308-
const {selectedAPI, titleFieldName, appendContent} = await new Promise<{selectedAPI: string, titleFieldName: string, appendContent: boolean}>((resolve, reject) => {
308+
const {selectedAPI, titleFieldName, appendContent} = await new Promise<{ selectedAPI: string, titleFieldName: string, appendContent: boolean }>((resolve, reject) => {
309309
new MediaDbFolderImportModal(this.app, this, ((selectedAPI: string, titleFieldName: string, appendContent: boolean) => {
310310
resolve({selectedAPI, titleFieldName, appendContent});
311311
})).open();
@@ -402,7 +402,7 @@ export default class MediaDbPlugin extends Plugin {
402402
if (err) {
403403
return reject(err);
404404
}
405-
resolve(res)
405+
resolve(res);
406406
}).open();
407407
});
408408
}
@@ -413,7 +413,7 @@ export default class MediaDbPlugin extends Plugin {
413413
if (err) {
414414
return reject(err);
415415
}
416-
resolve(res)
416+
resolve(res);
417417
}).open();
418418
});
419419
}
@@ -426,7 +426,7 @@ export default class MediaDbPlugin extends Plugin {
426426
}
427427
resolve(res);
428428
}, () => {
429-
resolve([])
429+
resolve([]);
430430
}).open();
431431
});
432432
}

src/modals/MediaDbAdvancedSearchModal.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ export class MediaDbAdvancedSearchModal extends Modal {
88
isBusy: boolean;
99
plugin: MediaDbPlugin;
1010
searchBtn: ButtonComponent;
11-
selectedApis: {name: string, selected: boolean}[];
12-
onSubmit: (res: {query: string, apis: string[]}, err?: Error) => void;
11+
selectedApis: { name: string, selected: boolean }[];
12+
onSubmit: (res: { query: string, apis: string[] }, err?: Error) => void;
1313

14-
constructor(app: App, plugin: MediaDbPlugin, onSubmit?: (res: {query: string, apis: string[]}, err?: Error) => void) {
14+
constructor(app: App, plugin: MediaDbPlugin, onSubmit?: (res: { query: string, apis: string[] }, err?: Error) => void) {
1515
super(app);
1616
this.plugin = plugin;
1717
this.onSubmit = onSubmit;

src/modals/MediaDbIdSearchModal.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ export class MediaDbIdSearchModal extends Modal {
99
plugin: MediaDbPlugin;
1010
searchBtn: ButtonComponent;
1111
selectedApi: string;
12-
onSubmit: (res: {query: string, api: string}, err?: Error) => void;
12+
onSubmit: (res: { query: string, api: string }, err?: Error) => void;
1313

14-
constructor(app: App, plugin: MediaDbPlugin, onSubmit?: (res: {query: string, api: string}, err?: Error) => void) {
14+
constructor(app: App, plugin: MediaDbPlugin, onSubmit?: (res: { query: string, api: string }, err?: Error) => void) {
1515
super(app);
1616
this.plugin = plugin;
1717
this.onSubmit = onSubmit;

src/models/MusicReleaseModel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ export class MusicReleaseModel extends MediaTypeModel {
3939

4040
getSummary(): string {
4141
var summary = this.title + ' (' + this.year + ')';
42-
if(this.artists.length > 0)
43-
summary += ' - ' + this.artists.join(', ')
42+
if (this.artists.length > 0)
43+
summary += ' - ' + this.artists.join(', ');
4444
return summary;
4545
}
4646
}

src/tests/ParameterizedAPI.test.ts

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
1-
import fetchMock, { enableFetchMocks } from 'jest-fetch-mock';
2-
import { MediaDbPluginSettings } from 'src/settings/Settings';
3-
import { LocGovAPI } from '../api/apis/LocGovAPI';
4-
import { MALAPI } from '../api/apis/MALAPI';
5-
import { MusicBrainzAPI } from '../api/apis/MusicBrainzAPI';
6-
import { OMDbAPI } from '../api/apis/OMDbAPI';
7-
import { SteamAPI } from '../api/apis/SteamAPI';
8-
import { WikipediaAPI } from '../api/apis/WikipediaAPI';
1+
import fetchMock, {enableFetchMocks} from 'jest-fetch-mock';
2+
import {MediaDbPluginSettings} from 'src/settings/Settings';
3+
import {LocGovAPI} from '../api/apis/LocGovAPI';
4+
import {MALAPI} from '../api/apis/MALAPI';
5+
import {MusicBrainzAPI} from '../api/apis/MusicBrainzAPI';
6+
import {OMDbAPI} from '../api/apis/OMDbAPI';
7+
import {SteamAPI} from '../api/apis/SteamAPI';
8+
import {WikipediaAPI} from '../api/apis/WikipediaAPI';
99
import MediaDbPlugin from '../main';
10-
import { setMALResponseMock, setMusicBrainzResponseMock, setOMDbResponseMock, setSteamResponseMock, setWikipediaResponseMock } from "./mockHelpers";
11-
import MALMockMovie from "./ResponseMocks/MALMockMovie.json";
12-
import MusicBrainzResponseMock from "./ResponseMocks/MusicBrainzMockResponse.json";
13-
import OMDBMockMovie from "./ResponseMocks/OMDBMockResponse.json";
14-
import SteamAPIResponseMock from "./ResponseMocks/SteamAPIMockResponse.json";
15-
import WikipediaMockResponse from "./ResponseMocks/WikipediaMockResponse.json";
10+
import {setMALResponseMock, setMusicBrainzResponseMock, setOMDbResponseMock, setSteamResponseMock, setWikipediaResponseMock} from './mockHelpers';
11+
import MALMockMovie from './ResponseMocks/MALMockMovie.json';
12+
import MusicBrainzResponseMock from './ResponseMocks/MusicBrainzMockResponse.json';
13+
import OMDBMockMovie from './ResponseMocks/OMDBMockResponse.json';
14+
import SteamAPIResponseMock from './ResponseMocks/SteamAPIMockResponse.json';
15+
import WikipediaMockResponse from './ResponseMocks/WikipediaMockResponse.json';
1616

1717
enableFetchMocks();
1818
export let apiMock: OMDbAPI | MALAPI | LocGovAPI | MusicBrainzAPI | SteamAPI | WikipediaAPI;
1919

2020
describe.each(
2121
[
22-
{ name: OMDbAPI },
23-
{ name: MALAPI },
24-
{ name: LocGovAPI },
25-
{ name: MusicBrainzAPI },
26-
{ name: SteamAPI },
27-
{ name: WikipediaAPI }
28-
]
29-
)('$name.name', ({ name: parameterizedApi }) => {
22+
{name: OMDbAPI},
23+
{name: MALAPI},
24+
{name: LocGovAPI},
25+
{name: MusicBrainzAPI},
26+
{name: SteamAPI},
27+
{name: WikipediaAPI},
28+
],
29+
)('$name.name', ({name: parameterizedApi}) => {
3030
beforeAll(() => {
3131
let settingsMock: MediaDbPluginSettings = {} as MediaDbPluginSettings;
3232
let pluginMock = {} as MediaDbPlugin;
3333
pluginMock.settings = settingsMock;
3434
// TODO: add fake API key?
3535
apiMock = new parameterizedApi(pluginMock);
36-
})
36+
});
3737

3838
beforeEach(() => {
3939
fetchMock.resetMocks();
40-
})
40+
});
4141

42-
test("searchByTitle behavior when API returns garbage data", async () => {
42+
test('searchByTitle behavior when API returns garbage data', async () => {
4343
const garbageResponse = JSON.stringify({
44-
data: "string"
44+
data: 'string',
4545
});
46-
fetchMock.mockResponseOnce(garbageResponse)
47-
await expect(apiMock.searchByTitle("sample")).resolves.toEqual([]);
46+
fetchMock.mockResponseOnce(garbageResponse);
47+
await expect(apiMock.searchByTitle('sample')).resolves.toEqual([]);
4848
// }
4949
expect(fetch).toHaveBeenCalledTimes(1);
5050
});
5151

52-
test("searchByTitle behavior when requestUrl/fetch returns 401", async () => {
52+
test('searchByTitle behavior when requestUrl/fetch returns 401', async () => {
5353
let sampleResponse = {
54-
data: "string"
54+
data: 'string',
5555
};
56-
fetchMock.mockResponse(JSON.stringify(sampleResponse), { status: 401 });
56+
fetchMock.mockResponse(JSON.stringify(sampleResponse), {status: 401});
5757
// TODO: Check API name and fix message
5858
// TODO: Externalize string
59-
await expect(apiMock.searchByTitle("sample")).rejects.toThrow(`MDB | Received status code ${401} from an API.`);
59+
await expect(apiMock.searchByTitle('sample')).rejects.toThrow(`MDB | Received status code ${401} from an API.`);
6060
expect(fetchMock).toHaveBeenCalledTimes(1);
6161
});
6262

63-
test("searchByTitle behavior when requestUrl/fetch returns 403", async () => {
63+
test('searchByTitle behavior when requestUrl/fetch returns 403', async () => {
6464
let sampleResponse = {
65-
data: "string"
65+
data: 'string',
6666
};
67-
fetchMock.mockResponse(JSON.stringify(sampleResponse), { status: 403 });
67+
fetchMock.mockResponse(JSON.stringify(sampleResponse), {status: 403});
6868
// TODO: Check API name and fix message
6969
// TODO: Externalize string/import?
70-
await expect(apiMock.searchByTitle("sample")).rejects.toThrow(`MDB | Received status code ${403} from an API.`);
70+
await expect(apiMock.searchByTitle('sample')).rejects.toThrow(`MDB | Received status code ${403} from an API.`);
7171
expect(fetchMock).toHaveBeenCalledTimes(1);
7272
});
7373

74-
test("searchByTitle behavior when requestUrl/fetch returns 200", async () => {
74+
test('searchByTitle behavior when requestUrl/fetch returns 200', async () => {
7575
let sampleResponse;
7676
let ret;
7777
switch (parameterizedApi) {
@@ -101,10 +101,10 @@ describe.each(
101101
default:
102102
throw Error();
103103
}
104-
fetchMock.mockResponse(JSON.stringify(sampleResponse), { status: 200 });
104+
fetchMock.mockResponse(JSON.stringify(sampleResponse), {status: 200});
105105
// TODO: Check API name and fix message
106106
// TODO: Externalize string
107-
await expect(apiMock.searchByTitle("Hooking Season Playtest")).resolves.toEqual(ret);
107+
await expect(apiMock.searchByTitle('Hooking Season Playtest')).resolves.toEqual(ret);
108108
expect(fetchMock).toHaveBeenCalledTimes(1);
109109
});
110-
})
110+
});
Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
{
2-
"release-groups": [
3-
{
4-
"id": "9cf08bf9-1948-4087-abe1-783210ea1fae",
5-
"primary-type-id": "f529b476-6e62-324f-b0aa-1f3e33d313fc",
6-
"title": "Halo Halo",
7-
"first-release-date": "2013-07-08",
8-
"primary-type": "Album",
9-
"artist-credit": [
10-
{
11-
"name": "Halo Halo",
12-
"artist": {
13-
"name": "Halo Halo"
14-
}
15-
}
16-
],
17-
"releases": [
18-
{
19-
"id": "58dd1d57-2201-472e-9e36-5d497dcedb6f",
20-
"title": "Halo Halo"
21-
}
22-
]
23-
}
24-
]
25-
}
2+
"release-groups": [
3+
{
4+
"id": "9cf08bf9-1948-4087-abe1-783210ea1fae",
5+
"primary-type-id": "f529b476-6e62-324f-b0aa-1f3e33d313fc",
6+
"title": "Halo Halo",
7+
"first-release-date": "2013-07-08",
8+
"primary-type": "Album",
9+
"artist-credit": [
10+
{
11+
"name": "Halo Halo",
12+
"artist": {
13+
"name": "Halo Halo"
14+
}
15+
}
16+
],
17+
"releases": [
18+
{
19+
"id": "58dd1d57-2201-472e-9e36-5d497dcedb6f",
20+
"title": "Halo Halo"
21+
}
22+
]
23+
}
24+
]
25+
}

src/tests/ResponseMocks/OMDBMockResponse.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"Type": "movie",
88
"Poster": "https://m.media-amazon.com/images/M/MV5BMTAwMjU5OTgxNjZeQTJeQWpwZ15BbWU4MDUxNDYxODEx._V1_SX300.jpg"
99
}
10-
],
10+
],
1111
"totalResults": "1",
1212
"Response": "True"
13-
}
13+
}

0 commit comments

Comments
 (0)