blob: 8b5e1b6739f722193ea84d80e00df2709fdc9539 [file] [log] [blame]
Brad Bishop96ff1982019-08-19 13:50:42 -04001#! /usr/bin/env python3
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05002#
3# BitBake Toaster Implementation
4#
5# Copyright (C) 2013-2016 Intel Corporation
6#
Brad Bishopc342db32019-05-15 21:57:59 -04007# SPDX-License-Identifier: GPL-2.0-only
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05008#
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05009
10from django.core.urlresolvers import reverse
11from django.utils import timezone
12from tests.browser.selenium_helpers import SeleniumTestCase
13
14from orm.models import Build, Project
15
16class TestProjectPage(SeleniumTestCase):
17 """ Test project data at /project/X/ is displayed correctly """
18
19 CLI_BUILDS_PROJECT_NAME = 'Command line builds'
20
21 def test_cli_builds_in_progress(self):
22 """
23 In progress builds should not cause an error to be thrown
24 when navigating to "command line builds" project page;
25 see https://bugzilla.yoctoproject.org/show_bug.cgi?id=8277
26 """
27
28 # add the "command line builds" default project; this mirrors what
29 # we do with get_or_create_default_project()
30 default_project = Project.objects.create_project(self.CLI_BUILDS_PROJECT_NAME, None)
31 default_project.is_default = True
32 default_project.save()
33
34 # add an "in progress" build for the default project
35 now = timezone.now()
36 Build.objects.create(project=default_project,
37 started_on=now,
38 completed_on=now,
39 outcome=Build.IN_PROGRESS)
40
41 # navigate to the project page for the default project
42 url = reverse("project", args=(default_project.id,))
43 self.get(url)
44
45 # check that we get a project page with the correct heading
Patrick Williamsc0f7c042017-02-23 20:41:17 -060046 project_name = self.find('.project-name').text.strip()
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050047 self.assertEqual(project_name, self.CLI_BUILDS_PROJECT_NAME)