#! /usr/bin/env python # ex:ts=4:sw=4:sts=4:et # -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ Run the js unit tests """ from django.core.urlresolvers import reverse from tests.browser.selenium_helpers import SeleniumTestCase import logging logger = logging.getLogger("toaster") class TestJsUnitTests(SeleniumTestCase): """ Test landing page shows the Toaster brand """ fixtures = ['toastergui-unittest-data'] def test_that_js_unit_tests_pass(self): url = reverse('js-unit-tests') self.get(url) self.wait_until_present('#tests-failed') failed = self.find("#tests-failed").text passed = self.find("#tests-passed").text total = self.find("#tests-total").text logger.info("Js unit tests completed %s out of %s passed, %s failed", passed, total, failed) failed_tests = self.find_all("li .fail .test-message") for fail in failed_tests: logger.error("JS unit test failed: %s" % fail.text) self.assertEqual(failed, '0', "%s JS unit tests failed" % failed)