Test create new project using: - Project Name: Any string - Release: Yocto Project master (option value: 3) - Merge Toaster settings: False
Signed-off-by: Alassane Yattara <[email protected]> --- .../functional/test_create_new_project.py | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lib/toaster/tests/functional/test_create_new_project.py diff --git a/lib/toaster/tests/functional/test_create_new_project.py b/lib/toaster/tests/functional/test_create_new_project.py new file mode 100644 index 00000000..2b3c98ac --- /dev/null +++ b/lib/toaster/tests/functional/test_create_new_project.py @@ -0,0 +1,57 @@ +#! /usr/bin/env python3 +# +# BitBake Toaster UI tests implementation +# +# Copyright (C) 2023 Savoir-faire Linux Inc +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import re +import pytest +from django.urls import reverse +from selenium.webdriver.support.ui import Select +from tests.functional.functional_helpers import SeleniumFunctionalTestCase +from orm.models import Project +from selenium.webdriver.common.by import By + [email protected]_db +class TestCreateNewProject(SeleniumFunctionalTestCase): + + def test_create_new_project_master(self): + """ Test create new project using: + - Project Name: Any string + - Release: Yocto Project master (option value: 3) + - Merge Toaster settings: False + """ + release = 'Yocto Project master' + project_name = 'projectmaster' + self.get(reverse('newproject')) + self.driver.find_element(By.ID, + "new-project-name").send_keys(project_name) + + select = Select(self.find('#projectversion')) + select.select_by_value(str(3)) + + # uncheck merge toaster settings + checkbox = self.find('.checkbox-mergeattr') + if checkbox.is_selected(): + checkbox.click() + + self.driver.find_element(By.ID, "create-project-button").click() + + element = self.wait_until_visible('#project-created-notification') + self.assertTrue(self.element_exists('#project-created-notification'), + 'Project creation notification not shown') + self.assertTrue(project_name in element.text, + "New project name not in new project notification") + self.assertTrue(Project.objects.filter(name=project_name).count(), + "New project not found in database") + + # check release + self.assertTrue(re.search( + release, + self.driver.find_element(By.XPATH, + "//span[@id='project-release-title']" + ).text), + 'The project release is not defined') -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#5934): https://lists.yoctoproject.org/g/toaster/message/5934 Mute This Topic: https://lists.yoctoproject.org/mt/102330658/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/toaster/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
