test_js_unit_tests.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #! /usr/bin/env python3
  2. #
  3. # BitBake Toaster Implementation
  4. #
  5. # Copyright (C) 2013-2016 Intel Corporation
  6. #
  7. # SPDX-License-Identifier: GPL-2.0-only
  8. #
  9. """
  10. Run the js unit tests
  11. """
  12. from django.urls import reverse
  13. from tests.browser.selenium_helpers import SeleniumTestCase
  14. import logging
  15. logger = logging.getLogger("toaster")
  16. class TestJsUnitTests(SeleniumTestCase):
  17. """ Test landing page shows the Toaster brand """
  18. fixtures = ['toastergui-unittest-data']
  19. def test_that_js_unit_tests_pass(self):
  20. url = reverse('js-unit-tests')
  21. self.get(url)
  22. self.wait_until_present('#qunit-testresult .failed')
  23. failed = self.find("#qunit-testresult .failed").text
  24. passed = self.find("#qunit-testresult .passed").text
  25. total = self.find("#qunit-testresult .total").text
  26. logger.info("Js unit tests completed %s out of %s passed, %s failed",
  27. passed,
  28. total,
  29. failed)
  30. failed_tests = self.find_all("li .fail .test-message")
  31. for fail in failed_tests:
  32. logger.error("JS unit test failed: %s" % fail.text)
  33. self.assertEqual(failed, '0',
  34. "%s JS unit tests failed" % failed)