Message ID | 20231101221314.236173-5-alassane.yattara@savoirfairelinux.com |
---|---|
State | New |
Headers | show |
Series | [1/8] Toaster: Write UI TestCase create new Master project | expand |
On Wed, 2023-11-01 at 23:13 +0100, Alassane Yattara wrote: > Test create new project using: > - Project Name: Any string > - Release: Yocto Project 3.1 "Dunfell" (option value: 5) > - Merge Toaster settings: False > > Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> > --- > .../functional/test_create_new_project.py | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/lib/toaster/tests/functional/test_create_new_project.py b/lib/toaster/tests/functional/test_create_new_project.py > index c6345e5b..cd690e1a 100644 > --- a/lib/toaster/tests/functional/test_create_new_project.py > +++ b/lib/toaster/tests/functional/test_create_new_project.py > @@ -132,3 +132,41 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): > "//span[@id='project-release-title']" > ).text), > 'The project release is not defined') > + > + def test_create_new_project_dunfull(self): > + """ Test create new project using: > + - Project Name: Any string > + - Release: Yocto Project 3.1 "Dunfell" (option value: 5) > + - Merge Toaster settings: False > + """ > + release = 'Yocto Project 3.1 "Dunfell"' > + project_name = 'projectdunfull' > + 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(5)) > + > + # check 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') Since there are a number of similar tests here, shouldn't they share a common function which we pass the release/other details into? I'd also skip mickledore right now since it is about to go end of life and be replaced by nanbield. Cheers, Richard
diff --git a/lib/toaster/tests/functional/test_create_new_project.py b/lib/toaster/tests/functional/test_create_new_project.py index c6345e5b..cd690e1a 100644 --- a/lib/toaster/tests/functional/test_create_new_project.py +++ b/lib/toaster/tests/functional/test_create_new_project.py @@ -132,3 +132,41 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): "//span[@id='project-release-title']" ).text), 'The project release is not defined') + + def test_create_new_project_dunfull(self): + """ Test create new project using: + - Project Name: Any string + - Release: Yocto Project 3.1 "Dunfell" (option value: 5) + - Merge Toaster settings: False + """ + release = 'Yocto Project 3.1 "Dunfell"' + project_name = 'projectdunfull' + 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(5)) + + # check 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')
Test create new project using: - Project Name: Any string - Release: Yocto Project 3.1 "Dunfell" (option value: 5) - Merge Toaster settings: False Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> --- .../functional/test_create_new_project.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+)