 72ae076ce7
			
		
	
	72ae076ce7
	
	
	
		
			
			--------- Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com> Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import unittest
 | |
| import Utils
 | |
| import os
 | |
| 
 | |
| from werkzeug.utils import secure_filename
 | |
| 
 | |
| import WebHost
 | |
| from worlds.AutoWorld import AutoWorldRegister
 | |
| 
 | |
| 
 | |
| class TestDocs(unittest.TestCase):
 | |
|     @classmethod
 | |
|     def setUpClass(cls) -> None:
 | |
|         WebHost.copy_tutorials_files_to_static()
 | |
| 
 | |
|     def test_has_tutorial(self):
 | |
|         for game_name, world_type in AutoWorldRegister.world_types.items():
 | |
|             if not world_type.hidden:
 | |
|                 with self.subTest(game_name):
 | |
|                     tutorials = world_type.web.tutorials
 | |
|                     self.assertGreater(len(tutorials), 0, msg=f"{game_name} has no setup tutorial.")
 | |
| 
 | |
|                     safe_name = secure_filename(game_name)
 | |
|                     target_path = Utils.local_path("WebHostLib", "static", "generated", "docs", safe_name)
 | |
|                     for tutorial in tutorials:
 | |
|                         self.assertTrue(
 | |
|                             os.path.isfile(Utils.local_path(target_path, secure_filename(tutorial.file_name))),
 | |
|                             f'{game_name} missing tutorial file {tutorial.file_name}.'
 | |
|                         )
 | |
| 
 | |
|     def test_has_game_info(self):
 | |
|         for game_name, world_type in AutoWorldRegister.world_types.items():
 | |
|             if not world_type.hidden:
 | |
|                 safe_name = secure_filename(game_name)
 | |
|                 target_path = Utils.local_path("WebHostLib", "static", "generated", "docs", safe_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}_{safe_name}.md')),
 | |
|                             f'{game_name} missing game info file for "{game_info_lang}" language.'
 | |
|                         )
 |