From a9275af1e20d1c784e99f9afdc0c26701f81c539 Mon Sep 17 00:00:00 2001 From: Mattia Date: Sat, 26 Dec 2020 16:01:20 +0100 Subject: [PATCH] Add search from page tests. --- .../youtube_http_client.dart | 2 +- lib/src/search/base_search_content.dart | 2 +- test/search_test.dart | 27 ++++++++++++++++--- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/src/reverse_engineering/youtube_http_client.dart b/lib/src/reverse_engineering/youtube_http_client.dart index b73e836..aa1b169 100644 --- a/lib/src/reverse_engineering/youtube_http_client.dart +++ b/lib/src/reverse_engineering/youtube_http_client.dart @@ -143,7 +143,7 @@ class YoutubeHttpClient extends http.BaseClient { request.headers[key] = _defaultHeaders[key]; } }); -// print('Request: $request'); + // print('Request: $request'); // print('Stack:\n${StackTrace.current}'); return _httpClient.send(request); } diff --git a/lib/src/search/base_search_content.dart b/lib/src/search/base_search_content.dart index 4107853..43c3142 100644 --- a/lib/src/search/base_search_content.dart +++ b/lib/src/search/base_search_content.dart @@ -1,4 +1,4 @@ -/// +/// This i can either be a [SearchVideo] or [SearchPlaylist] abstract class BaseSearchContent { /// const BaseSearchContent(); diff --git a/test/search_test.dart b/test/search_test.dart index e7ea9f6..6c86422 100644 --- a/test/search_test.dart +++ b/test/search_test.dart @@ -17,7 +17,26 @@ void main() { expect(videos, isNotEmpty); }); - test('Search a youtube videos from the search page', () async { + test('Search a youtube video from the search page', () async { + var videos = await yt.search + .getVideosFromPage('hello') + .where((e) => e is SearchVideo) // Take only the videos. + .cast() + .take(10) // Take on 10 results. + .toList(); + expect(videos, hasLength(10)); + var video = videos.first; + expect(video.videoId, isNotNull); + + expect(video.videoTitle, isNotEmpty); + expect(video.videoAuthor, isNotEmpty); + expect(video.videoDescriptionSnippet, isNotEmpty); + expect(video.videoDuration, isNotEmpty); + expect(video.videoViewCount, greaterThan(0)); + expect(video.videoThumbnails, isNotEmpty); + }); + + test('Search a youtube videos from the search page - old', () async { // ignore: deprecated_member_use_from_same_package var searchQuery = await yt.search.queryFromPage('hello'); expect(searchQuery.content, isNotEmpty); @@ -25,7 +44,7 @@ void main() { expect(searchQuery.relatedQueries, isNotEmpty); }, skip: 'Not supported anymore'); - test('Search with no results', () async { + test('Search with no results - old', () async { var query = // ignore: deprecated_member_use_from_same_package await yt.search.queryFromPage('g;jghEOGHJeguEPOUIhjegoUEHGOGHPSASG'); @@ -36,7 +55,7 @@ void main() { expect(nextPage, isNull); }); - test('Search youtube videos have thumbnails', () async { + test('Search youtube videos have thumbnails - old', () async { // ignore: deprecated_member_use_from_same_package var searchQuery = await yt.search.queryFromPage('hello'); expect(searchQuery.content.first, isA()); @@ -45,7 +64,7 @@ void main() { expect(video.videoThumbnails, isNotEmpty); }); - test('Search youtube videos from search page (stream)', () async { + test('Search youtube videos from search page (stream) - old', () async { var query = await yt.search.getVideosFromPage('hello').take(30).toList(); expect(query, hasLength(30)); });