def test_main(self, req_mock): main_page = self._build_main_page([("http://something.com/fruits/A/", "Fruit A", "£1.8/unit")]) product_page, product_page_size = self._build_product_page("Tasty") req_mock.get("http://something.com/fruits/", text=main_page) req_mock.get("http://something.com/fruits/A/", text=product_page) product_data = main("http://something.com/fruits/") self.assertEqual( product_data, { "results": [{"title": "Fruit A", "description": "Tasty", "unit_price": 1.8, "size": product_page_size}], "total": 1.8, }, )
def test_problems_with_main_page(self, req_mock): req_mock.get("http://something.com/500/", status_code=500) scraped = main("http://something.com/500/") self.assertEqual(scraped, "Could not fetch body of main page")
def test_invalid_base_url(self): scraped = main("invalid.com") self.assertEqual( scraped, "Invalid URL 'invalid.com': No schema supplied. Perhaps you meant http://invalid.com?" )