pokemon-showdown/test/server/chat-plugins/youtube.js
Slayer95 4b8c6a4d6d
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled
Refactor startup (#11346)
This minimizes side effects of import/require across the codebase,
and lets the caller be responsible of initializing child processeses,
as well as other async logic, such as restoring saved battles.
2025-10-17 19:37:47 -07:00

45 lines
1.6 KiB
JavaScript

/**
* Tests for the Youtube room plugin.
* Written by Mia.
* @author mia-pi-git
*/
'use strict';
const assert = require('../../assert');
describe(`Youtube features`, () => {
let YoutubeInterface = null;
before(() => {
YoutubeInterface = require('../../../dist/server/chat-plugins/youtube').YoutubeInterface;
});
it.skip(`should correctly add channels to the database`, async () => {
if (!Config.youtubeKey) return true;
const Youtube = new YoutubeInterface({});
const url = 'https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw';
await Youtube.getChannelData(url, undefined);
assert(Youtube.data['UCuAXFkgsw1L7xaCfnd5JJOw']);
});
it.skip(`should correctly handle PS names and channel names`, async () => {
if (!Config.youtubeKey) return true;
const Youtube = new YoutubeInterface({});
const url = 'https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw';
const channelId = 'UCuAXFkgsw1L7xaCfnd5JJOw';
await Youtube.getChannelData(url, 'Pickle Rick');
assert.equal(channelId, Youtube.channelSearch('Pickle Rick'));
assert.equal(channelId, Youtube.channelSearch('Official Rick Astley'));
});
it.skip(`should correctly parse channel links`, () => {
if (!Config.youtubeKey) return true;
const videoUrl = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
const channelUrl = 'https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw';
const Youtube = new YoutubeInterface({});
const videoId = Youtube.getId(videoUrl);
assert.equal(videoId, 'dQw4w9WgXcQ');
const channelId = Youtube.getId(channelUrl);
assert.equal(channelId, 'UCuAXFkgsw1L7xaCfnd5JJOw');
});
});