Skip to content

Commit

Permalink
refactor: revamp tester
Browse files Browse the repository at this point in the history
  • Loading branch information
zyrouge committed Oct 18, 2023
1 parent e68f86a commit 467fbbf
Show file tree
Hide file tree
Showing 32 changed files with 563 additions and 399 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/test-modules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@ jobs:
- uses: dart-lang/setup-dart@v1

- name: 🚧 Do prerequisites
run: |
dart pub get
run: dart pub get

- name: 🧪 Test modules
run: dart run ./store/test/all.dart --ci
run: dart run ./store/test.dart --ci

- name: 🚀 Upload summary
if: always()
working-directory: ${{ env.GIT_OUTPUT_DIR }}
run: |
git init
Expand Down
8 changes: 6 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"editor.formatOnSave": true
}
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[dart]": {
"editor.defaultFormatter": "Dart-Code.dart-code"
}
}
5 changes: 5 additions & 0 deletions modules/anime/animepahe_com/_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$note": "This is a generated file, do not edit this.",
"version": "2023.01-r0",
"ref": "5217dd3ff6146bb267a320235f8bf78de7d6cf4c"
}
Empty file.
44 changes: 44 additions & 0 deletions modules/anime/animepahe_com/module.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/test/anime.dart';
import '../../../store/core/module.dart';

class AnimePahe extends SAnimeModule {
@override
String id() => 'animepahe_com';

@override
String name() => 'AnimePahe';

@override
bool nsfw() => false;

@override
MockedAnimeExtractor mock() {
late final String animeURL;
late final String episodeURL;

final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) async {
final List<SearchInfo> results = await ext.search(
'bunny girl',
ext.defaultLocale,
);
animeURL = results.first.url;
return results;
},
getInfo: (final AnimeExtractor ext) async {
final AnimeInfo result = await ext.getInfo(
animeURL,
ext.defaultLocale,
);
episodeURL = result.episodes.first.url;
return result;
},
getSource: (final AnimeExtractor ext) => ext.getSource(
episodeURL,
ext.defaultLocale,
),
);
return mocked;
}
}
43 changes: 9 additions & 34 deletions modules/anime/animepahe_com/test.dart
Original file line number Diff line number Diff line change
@@ -1,39 +1,14 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/tenka_dev_tools.dart';
import 'package:utilx/locale.dart';
import '../../../tools/utils.dart';

const Locale locale = Locale(LanguageCodes.en);
final TenkaLocalFileDS source = Utils.getAnimeDS('animepahe_com');

abstract class MockedData {
static late final String animeURL;
static late final String episodeURL;
}

final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) async {
final List<SearchInfo> results = await ext.search(
'bunny girl',
ext.defaultLocale,
);
MockedData.animeURL = results.first.url;
return results;
},
getInfo: (final AnimeExtractor ext) async {
final AnimeInfo result = await ext.getInfo(
MockedData.animeURL,
ext.defaultLocale,
);
MockedData.episodeURL = result.episodes.first.url;
return result;
},
getSource: (final AnimeExtractor ext) => ext.getSource(
MockedData.episodeURL,
ext.defaultLocale,
),
);
import '../../../store/core/module.dart';
import '../../../store/test.dart';
import 'module.dart';

Future<void> main() async {
await Procedure.run(() => mocked.run(source));
final SAnimeModule module = AnimePahe();
final TenkaMetadata config = await module.config();
final MockedAnimeExtractor mocked = module.mock();
await STester.runProcedure(
() => mocked.run(config.source as TenkaLocalFileDS),
);
}
Empty file.
33 changes: 33 additions & 0 deletions modules/anime/gogoanime_bid/module.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/test/anime.dart';
import '../../../store/core/module.dart';

class GogoAnime extends SAnimeModule {
@override
String id() => 'gogoanime_bid';

@override
String name() => 'GogoAnime';

@override
bool nsfw() => false;

@override
MockedAnimeExtractor mock() {
final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) => ext.search(
'spy kyoushitsu',
ext.defaultLocale,
),
getInfo: (final AnimeExtractor ext) => ext.getInfo(
'https://www1.gogoanime.bid/category/spy-kyoushitsu',
ext.defaultLocale,
),
getSource: (final AnimeExtractor ext) => ext.getSource(
'https://www1.gogoanime.bid/spy-kyoushitsu-episode-1',
ext.defaultLocale,
),
);
return mocked;
}
}
26 changes: 9 additions & 17 deletions modules/anime/gogoanime_bid/test.dart
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/tenka_dev_tools.dart';
import 'package:utilx/locale.dart';
import '../../../tools/utils.dart';

const Locale locale = Locale(LanguageCodes.en);
final TenkaLocalFileDS source = Utils.getAnimeDS('gogoanime_bid');
final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) => ext.search('spy kyoushitsu', locale),
getInfo: (final AnimeExtractor ext) => ext.getInfo(
'https://www1.gogoanime.bid/category/spy-kyoushitsu',
locale,
),
getSource: (final AnimeExtractor ext) => ext.getSource(
'https://www1.gogoanime.bid/spy-kyoushitsu-episode-1',
locale,
),
);
import '../../../store/core/module.dart';
import '../../../store/test.dart';
import 'module.dart';

Future<void> main() async {
await Procedure.run(() => mocked.run(source));
final SAnimeModule module = GogoAnime();
final TenkaMetadata config = await module.config();
final MockedAnimeExtractor mocked = module.mock();
await STester.runProcedure(
() => mocked.run(config.source as TenkaLocalFileDS),
);
}
33 changes: 33 additions & 0 deletions modules/anime/hanime_tv/module.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/test/anime.dart';
import '../../../store/core/module.dart';

class HAnime extends SAnimeModule {
@override
String id() => 'hanime_tv';

@override
String name() => 'hanime';

@override
bool nsfw() => true;

@override
MockedAnimeExtractor mock() {
final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) => ext.search(
'overflow',
ext.defaultLocale,
),
getInfo: (final AnimeExtractor ext) => ext.getInfo(
'https://hanime.tv/videos/hentai/overflow-season-1',
ext.defaultLocale,
),
getSource: (final AnimeExtractor ext) => ext.getSource(
'https://hanime.tv/videos/hentai/overflow-season-1#__episode=1',
ext.defaultLocale,
),
);
return mocked;
}
}
26 changes: 9 additions & 17 deletions modules/anime/hanime_tv/test.dart
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/tenka_dev_tools.dart';
import 'package:utilx/locale.dart';
import '../../../tools/utils.dart';

const Locale locale = Locale(LanguageCodes.en);
final TenkaLocalFileDS source = Utils.getAnimeDS('hanime_tv');
final MockedAnimeExtractor mocked = MockedAnimeExtractor(
search: (final AnimeExtractor ext) => ext.search('overflow', locale),
getInfo: (final AnimeExtractor ext) => ext.getInfo(
'https://hanime.tv/videos/hentai/overflow-season-1',
locale,
),
getSource: (final AnimeExtractor ext) => ext.getSource(
'https://hanime.tv/videos/hentai/overflow-season-1#__episode=1',
locale,
),
);
import '../../../store/core/module.dart';
import '../../../store/test.dart';
import 'module.dart';

Future<void> main() async {
await Procedure.run(() => mocked.run(source));
final SAnimeModule module = HAnime();
final TenkaMetadata config = await module.config();
final MockedAnimeExtractor mocked = module.mock();
await STester.runProcedure(
() => mocked.run(config.source as TenkaLocalFileDS),
);
}
25 changes: 0 additions & 25 deletions modules/anime/marin_moe/test.dart

This file was deleted.

25 changes: 0 additions & 25 deletions modules/anime/zoro_to/test.dart

This file was deleted.

37 changes: 37 additions & 0 deletions modules/manga/fanfox_net/module.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/tenka_dev_tools.dart';
import '../../../store/core/module.dart';

class FanFox extends SMangaModule {
@override
String id() => 'fanfox_net';

@override
String name() => 'FanFox';

@override
bool nsfw() => false;

@override
MockedMangaExtractor mock() {
final MockedMangaExtractor mocked = MockedMangaExtractor(
search: (final MangaExtractor ext) => ext.search(
'bunny girl',
ext.defaultLocale,
),
getInfo: (final MangaExtractor ext) => ext.getInfo(
'https://fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/',
ext.defaultLocale,
),
getChapter: (final MangaExtractor ext) => ext.getChapter(
'https://fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/c001/1.html',
ext.defaultLocale,
),
getPage: (final MangaExtractor ext) => ext.getPage(
'https://m.fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/c001/31.html',
ext.defaultLocale,
),
);
return mocked;
}
}
33 changes: 9 additions & 24 deletions modules/manga/fanfox_net/test.dart
Original file line number Diff line number Diff line change
@@ -1,29 +1,14 @@
import 'package:tenka/tenka.dart';
import 'package:tenka_dev_tools/tenka_dev_tools.dart';
import 'package:utilx/locale.dart';
import '../../../tools/utils.dart';

const Locale locale = Locale(LanguageCodes.en);
final TenkaLocalFileDS source = Utils.getMangaDS('fanfox_net');
final MockedMangaExtractor mocked = MockedMangaExtractor(
search: (final MangaExtractor ext) => ext.search(
'bunny girl',
locale,
),
getInfo: (final MangaExtractor ext) => ext.getInfo(
'https://fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/',
locale,
),
getChapter: (final MangaExtractor ext) => ext.getChapter(
'https://fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/c001/1.html',
locale,
),
getPage: (final MangaExtractor ext) => ext.getPage(
'https://m.fanfox.net/manga/seishun_buta_yarou_wa_bunny_girl_senpai_no_yume_o_minai/c001/31.html',
locale,
),
);
import '../../../store/core/module.dart';
import '../../../store/test.dart';
import 'module.dart';

Future<void> main() async {
await Procedure.run(() => mocked.run(source));
final SMangaModule module = FanFox();
final TenkaMetadata config = await module.config();
final MockedMangaExtractor mocked = module.mock();
await STester.runProcedure(
() => mocked.run(config.source as TenkaLocalFileDS),
);
}
Loading

0 comments on commit 467fbbf

Please sign in to comment.