def test_expect_successful_page_audit(self, webmock): # Arrange domain = 'httpbin.org' test_axe_report_path = helper.fixture_file_path('httpbin-org-page-all-violations.json') webmock.get(requests_mock.ANY, text='ok') site = Site.from_domain_or_url(domain) page = Page(site) audit_type = None # Assume self.assertIsNone(page.audit) self.assertPathExists(test_axe_report_path) # Act # Mock the AxeAudit generate_report method to return our test fixture file # path when page.axe_audit called. with patch.object(AxePageAudit, 'generate_report') as mocked_method: mocked_method.return_value = test_axe_report_path page.axe_audit(audit_type) # Assert self.assertIsNotNone(page.audit) self.assertEqual(page.site, site) self.assertIn(domain, page.url) self.assertEqual(5, len(page.audit.violations)) self.assertEqual(5, len(page.audit.errors)) self.assertEqual(0, len(page.audit.warnings))
def audit(self): AxeAudit.validate_type(self.audit_type) urls = self.extract_site_page_urls_from_sitemap() for url in urls: page = Page(self, url) page.axe_audit(self.audit_type) self.pages.append(page) return AxeAudit.from_site(self)