mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 06:15:00 +00:00
Replaced mocked Playwright usage with real Playwright implementation in the test suite.
This commit is contained in:
parent
8a73346f66
commit
f99dbc2c43
1 changed files with 7 additions and 27 deletions
|
@ -1,5 +1,5 @@
|
||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import patch, MagicMock
|
from unittest.mock import MagicMock
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from aider.commands import Commands
|
from aider.commands import Commands
|
||||||
|
@ -12,19 +12,13 @@ class TestScrape(unittest.TestCase):
|
||||||
self.io = InputOutput(yes=True)
|
self.io = InputOutput(yes=True)
|
||||||
self.commands = Commands(self.io, None)
|
self.commands = Commands(self.io, None)
|
||||||
|
|
||||||
@patch("aider.scrape.Scraper.scrape")
|
def test_cmd_web_imports_playwright(self):
|
||||||
def test_cmd_web_imports_playwright(self, mock_scrape):
|
|
||||||
# Mock the scrape method
|
|
||||||
mock_scrape.return_value = "Mocked webpage content"
|
|
||||||
|
|
||||||
# Run the cmd_web command
|
# Run the cmd_web command
|
||||||
result = self.commands.cmd_web("https://example.com")
|
result = self.commands.cmd_web("https://example.com")
|
||||||
|
|
||||||
# Assert that the scrape method was called with the correct URL
|
# Assert that the result contains some content
|
||||||
mock_scrape.assert_called_once_with("https://example.com")
|
self.assertIsNotNone(result)
|
||||||
|
self.assertNotEqual(result, "")
|
||||||
# Assert that the result contains the mocked content
|
|
||||||
self.assertIn("Mocked webpage content", result)
|
|
||||||
|
|
||||||
# Try to import playwright
|
# Try to import playwright
|
||||||
try:
|
try:
|
||||||
|
@ -39,15 +33,7 @@ class TestScrape(unittest.TestCase):
|
||||||
playwright_imported, "Playwright should be importable after running cmd_web"
|
playwright_imported, "Playwright should be importable after running cmd_web"
|
||||||
)
|
)
|
||||||
|
|
||||||
@patch("aider.scrape.sync_playwright")
|
def test_scrape_actual_url_with_playwright(self):
|
||||||
def test_scrape_actual_url_with_playwright(self, mock_sync_playwright):
|
|
||||||
# Mock the Playwright browser and page
|
|
||||||
mock_browser = MagicMock()
|
|
||||||
mock_page = MagicMock()
|
|
||||||
mock_browser.new_page.return_value = mock_page
|
|
||||||
mock_page.content.return_value = "<html><body><h1>Test Page</h1></body></html>"
|
|
||||||
mock_sync_playwright.return_value.__enter__.return_value.chromium.launch.return_value = mock_browser
|
|
||||||
|
|
||||||
# Create a Scraper instance with a mock print_error function
|
# Create a Scraper instance with a mock print_error function
|
||||||
mock_print_error = MagicMock()
|
mock_print_error = MagicMock()
|
||||||
scraper = Scraper(print_error=mock_print_error, playwright_available=True)
|
scraper = Scraper(print_error=mock_print_error, playwright_available=True)
|
||||||
|
@ -57,17 +43,11 @@ class TestScrape(unittest.TestCase):
|
||||||
|
|
||||||
# Assert that the result contains expected content
|
# Assert that the result contains expected content
|
||||||
self.assertIsNotNone(result)
|
self.assertIsNotNone(result)
|
||||||
self.assertIn("Test Page", result)
|
self.assertIn("Example Domain", result)
|
||||||
|
|
||||||
# Assert that print_error was never called
|
# Assert that print_error was never called
|
||||||
mock_print_error.assert_not_called()
|
mock_print_error.assert_not_called()
|
||||||
|
|
||||||
# Assert that Playwright methods were called
|
|
||||||
mock_sync_playwright.assert_called_once()
|
|
||||||
mock_browser.new_page.assert_called()
|
|
||||||
mock_page.goto.assert_called_with("https://example.com", wait_until="networkidle", timeout=5000)
|
|
||||||
mock_page.content.assert_called_once()
|
|
||||||
|
|
||||||
def test_scraper_print_error_not_called(self):
|
def test_scraper_print_error_not_called(self):
|
||||||
# Create a Scraper instance with a mock print_error function
|
# Create a Scraper instance with a mock print_error function
|
||||||
mock_print_error = MagicMock()
|
mock_print_error = MagicMock()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue