youtube_explode/test/search_test.dart

53 lines
1.6 KiB
Dart
Raw Normal View History

2020-06-06 11:28:36 +02:00
import 'package:test/test.dart';
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
void main() {
2020-10-17 22:09:52 +02:00
YoutubeExplode yt;
setUp(() {
yt = YoutubeExplode();
});
2020-06-06 11:28:36 +02:00
2020-10-17 22:09:52 +02:00
tearDown(() {
yt.close();
});
2020-06-06 11:28:36 +02:00
2020-10-17 22:09:52 +02:00
test('Search a youtube video from the api', () async {
var videos =
await yt.search.getVideos('undead corporation megalomania').toList();
expect(videos, isNotEmpty);
});
2020-06-16 21:49:30 +02:00
2020-10-17 22:09:52 +02:00
test('Search a youtube videos from the search page', () async {
2020-10-30 22:20:31 +01:00
// ignore: deprecated_member_use_from_same_package
2020-11-01 15:05:19 +01:00
var searchQuery = await yt.search.queryFromPage('hello');
2020-10-17 22:09:52 +02:00
expect(searchQuery.content, isNotEmpty);
expect(searchQuery.relatedVideos, isNotEmpty);
expect(searchQuery.relatedQueries, isNotEmpty);
});
2020-09-23 08:38:05 +02:00
2020-10-17 22:09:52 +02:00
test('Search with no results', () async {
2020-11-01 15:05:19 +01:00
var query =
// ignore: deprecated_member_use_from_same_package
await yt.search.queryFromPage('g;jghEOGHJeguEPOUIhjegoUEHGOGHPSASG');
2020-10-17 22:09:52 +02:00
expect(query.content, isEmpty);
expect(query.relatedQueries, isEmpty);
expect(query.relatedVideos, isEmpty);
var nextPage = await query.nextPage();
expect(nextPage, isNull);
});
2020-09-21 17:34:03 +02:00
2020-10-17 22:24:56 +02:00
test('Search youtube videos have thumbnails', () async {
2020-10-30 22:20:31 +01:00
// ignore: deprecated_member_use_from_same_package
2020-11-01 15:05:19 +01:00
var searchQuery = await yt.search.queryFromPage('hello');
2020-10-27 14:44:11 +01:00
expect(searchQuery.content.first, isA<SearchVideo>());
2020-09-23 08:38:05 +02:00
2020-10-27 14:44:11 +01:00
var video = searchQuery.content.first as SearchVideo;
expect(video.videoThumbnails, isNotEmpty);
});
2020-10-17 22:24:56 +02:00
2020-10-17 22:09:52 +02:00
test('Search youtube videos from search page (stream)', () async {
var query = await yt.search.getVideosFromPage('hello').take(30).toList();
expect(query, hasLength(30));
2020-06-06 11:28:36 +02:00
});
}