xref: /OK3568_Linux_fs/yocto/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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"""
11Run the js unit tests
12"""
13
14from django.urls import reverse
15from tests.browser.selenium_helpers import SeleniumTestCase
16import logging
17
18logger = logging.getLogger("toaster")
19
20
21class TestJsUnitTests(SeleniumTestCase):
22    """ Test landing page shows the Toaster brand """
23
24    fixtures = ['toastergui-unittest-data']
25
26    def test_that_js_unit_tests_pass(self):
27        url = reverse('js-unit-tests')
28        self.get(url)
29        self.wait_until_present('#qunit-testresult .failed')
30
31        failed = self.find("#qunit-testresult .failed").text
32        passed = self.find("#qunit-testresult .passed").text
33        total = self.find("#qunit-testresult .total").text
34
35        logger.info("Js unit tests completed %s out of %s passed, %s failed",
36                    passed,
37                    total,
38                    failed)
39
40        failed_tests = self.find_all("li .fail .test-message")
41        for fail in failed_tests:
42            logger.error("JS unit test failed: %s" % fail.text)
43
44        self.assertEqual(failed, '0',
45                         "%s JS unit tests failed" % failed)
46