From c93eeb360755f03f554ec0db65d4d8b97cbfd47f Mon Sep 17 00:00:00 2001 From: alwaysintreble Date: Wed, 18 May 2022 17:08:29 -0500 Subject: [PATCH] tests: implement test to check for game_info file (#531) --- test/webhost/{TestTutorial.py => TestDocs.py} | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) rename test/webhost/{TestTutorial.py => TestDocs.py} (50%) diff --git a/test/webhost/TestTutorial.py b/test/webhost/TestDocs.py similarity index 50% rename from test/webhost/TestTutorial.py rename to test/webhost/TestDocs.py index f6bfc830..6922deb1 100644 --- a/test/webhost/TestTutorial.py +++ b/test/webhost/TestDocs.py @@ -1,12 +1,17 @@ import unittest +import Utils +import os + +import WebHost from worlds.AutoWorld import AutoWorldRegister -class TestTutorial(unittest.TestCase): +class TestDocs(unittest.TestCase): + def setUp(self) -> None: + self.tutorials_data = WebHost.create_ordered_tutorials_file() + def testHasTutorial(self): - import WebHost - tutorials_data = WebHost.create_ordered_tutorials_file() - games_with_tutorial = set(entry["gameTitle"] for entry in tutorials_data) + games_with_tutorial = set(entry["gameTitle"] for entry in self.tutorials_data) for game_name, world_type in AutoWorldRegister.world_types.items(): if not world_type.hidden: with self.subTest(game_name): @@ -20,3 +25,14 @@ class TestTutorial(unittest.TestCase): else: self.fail(f"{game_name} has no setup tutorial. " f"Games with Tutorial: {games_with_tutorial}") + + def testHasGameInfo(self): + for game_name, world_type in AutoWorldRegister.world_types.items(): + if not world_type.hidden: + target_path = Utils.local_path("WebHostLib", "static", "generated", "docs", game_name) + for game_info_lang in world_type.web.game_info_languages: + with self.subTest(game_name): + self.assertTrue( + os.path.isfile(Utils.local_path(target_path, f'{game_info_lang}_{game_name}.md')), + f'{game_name} missing game info file for "{game_info_lang}" language.' + )