Refactored the test_cmd_web_imports_playwright test to capture stdout and assert that the example.com content was scraped.

This commit is contained in:
Paul Gauthier 2024-07-16 11:12:59 +01:00 committed by Paul Gauthier (aider)
parent 74f4bd106a
commit d41f07b024

View file

@ -13,34 +13,22 @@ class TestScrape(unittest.TestCase):
self.commands = Commands(self.io, None)
def test_cmd_web_imports_playwright(self):
# Capture stdout to suppress output during the test
captured_output = io.StringIO()
sys.stdout = captured_output
# Run the cmd_web command
self.commands.cmd_web("https://example.com")
# Try to import playwright
try:
# Run the cmd_web command
self.commands.cmd_web("https://example.com")
import playwright
playwright_imported = True
except ImportError:
playwright_imported = False
# Try to import playwright
try:
import playwright
playwright_imported = True
except ImportError:
playwright_imported = False
# Assert that playwright was successfully imported
self.assertTrue(
playwright_imported,
"Playwright should be importable after running cmd_web"
)
# Assert that playwright was successfully imported
self.assertTrue(
playwright_imported,
"Playwright should be importable after running cmd_web"
)
# Check if the content from example.com was scraped
output = captured_output.getvalue()
self.assertIn("This domain is for use in illustrative examples in documents.", output)
finally:
# Restore stdout
sys.stdout = sys.__stdout__
if __name__ == "__main__":
unittest.main()