1#! /usr/bin/env python 2# 3# BitBake Toaster Implementation 4# 5# Copyright (C) 2013-2016 Intel Corporation 6# 7# SPDX-License-Identifier: GPL-2.0-only 8# 9 10from django.core.urlresolvers import reverse 11from django.utils import timezone 12from tests.browser.selenium_helpers import SeleniumTestCase 13from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version 14from orm.models import Target 15 16class TestBuilddashboardPageRecipes(SeleniumTestCase): 17 """ Test build dashboard recipes sub-page """ 18 19 def setUp(self): 20 project = Project.objects.get_or_create_default_project() 21 22 now = timezone.now() 23 24 self.build = Build.objects.create(project=project, 25 started_on=now, 26 completed_on=now) 27 28 layer = Layer.objects.create() 29 30 layer_version = Layer_Version.objects.create(layer=layer, 31 build=self.build) 32 33 recipe = Recipe.objects.create(layer_version=layer_version) 34 35 task = Task.objects.create(build=self.build, recipe=recipe, order=1) 36 37 Target.objects.create(build=self.build, task=task, target='do_build') 38 39 def test_build_recipes_columns(self): 40 """ 41 Check that non-hideable columns of the table on the recipes sub-page 42 are disabled on the edit columns dropdown. 43 """ 44 url = reverse('recipes', args=(self.build.id,)) 45 self.get(url) 46 47 self.wait_until_visible('#edit-columns-button') 48 49 # check that options for the non-hideable columns are disabled 50 non_hideable = ['name', 'version'] 51 52 for column in non_hideable: 53 selector = 'input#checkbox-%s[disabled="disabled"]' % column 54 self.wait_until_present(selector) 55