Message ID | 20231030222618.404081-3-alassane.yattara@savoirfairelinux.com |
---|---|
State | New |
Headers | show |
Series | [1/3] Toaster: Check info_sign is visible and clickable in landing page | expand |
On Mon, Oct 30, 2023 at 3:26 PM Alassane Yattara < alassane.yattara@savoirfairelinux.com> wrote: > Test that the followings link are visible and clickable: > - OpenEmbedded > - BitBake > - Yocto Project > - Read the Toaster manual > - Contribute to Toaster > > Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> > --- > .../tests/browser/test_landing_page.py | 89 ++++++++++++++++++- > 1 file changed, 88 insertions(+), 1 deletion(-) > > diff --git a/lib/toaster/tests/browser/test_landing_page.py > b/lib/toaster/tests/browser/test_landing_page.py > index e731af22..ecbc0af3 100644 > --- a/lib/toaster/tests/browser/test_landing_page.py > +++ b/lib/toaster/tests/browser/test_landing_page.py > @@ -12,7 +12,7 @@ from django.urls import reverse > from django.utils import timezone > from tests.browser.selenium_helpers import SeleniumTestCase > > -from orm.models import Project, Build > +from orm.models import Layer, Layer_Version, Project, Build > > class TestLandingPage(SeleniumTestCase): > """ Tests for redirects on the landing page """ > @@ -61,6 +61,93 @@ class TestLandingPage(SeleniumTestCase): > ' > http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual > ') > self.assertTrue("Documentation" in documentation_link.text) > > + def test_openembedded_jumbotron_link_visible_and_clickable(self): > + """ Test OpenEmbedded link jumbotron is visible and clickable: """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check OpenEmbedded > + openembedded = jumbotron.find_element_by_link_text('OpenEmbedded') > + self.assertTrue(openembedded.is_displayed()) > + openembedded.click() > + self.assertTrue("openembedded.org" in self.driver.current_url) > + > + def test_bitbake_jumbotron_link_visible_and_clickable(self): > + """ Test BitBake link jumbotron is visible and clickable: """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check BitBake > + bitbake = jumbotron.find_element_by_link_text('BitBake') > + self.assertTrue(bitbake.is_displayed()) > + bitbake.click() > + self.assertTrue("yoctoproject.org/software-item/bitbake" in > self.driver.current_url) > + > + def test_yoctoproject_jumbotron_link_visible_and_clickable(self): > + """ Test Yocto Project link jumbotron is visible and clickable: > """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check Yocto Project > + yoctoproject = jumbotron.find_element_by_link_text('Yocto > Project') > + self.assertTrue(yoctoproject.is_displayed()) > + yoctoproject.click() > + self.assertTrue("yoctoproject.org" in self.driver.current_url) > + > + def test_link_setup_usign_toaster_visible_and_clickable(self): > Typo usign -> using > + """ Test big magenta button setting up and using toaster link in > jumbotron > + if visible and clickable Your patch has a trailing whitespace in the above line, please check for that. > > + """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check Big magenta button > + big_magenta_button = jumbotron.find_element_by_link_text( > + 'Toaster is ready to capture your command line builds' > + ) > + self.assertTrue(big_magenta_button.is_displayed()) > + big_magenta_button.click() > + self.assertTrue(" > docs.yoctoproject.org/toaster-manual/setup-and-use.html#setting-up-and-using-toaster" > in self.driver.current_url) > + > + def > test_link_create_new_project_in_jumbotron_visible_and_clickable(self): > + """ Test big blue button create new project jumbotron if visible > and clickable """ > + # Create a layer and a layer version to make visible the big blue > button > + layer = Layer.objects.create(name='bar') > + Layer_Version.objects.create(layer=layer) > + > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check Big Blue button > + big_blue_button = jumbotron.find_element_by_link_text( > + 'Create your first Toaster project to run manage builds' > + ) > + self.assertTrue(big_blue_button.is_displayed()) > + big_blue_button.click() > + self.assertTrue("toastergui/newproject/" in > self.driver.current_url) > + > + def test_toaster_manual_link_visible_and_clickable(self): > + """ Test Read the Toaster manual link jumbotron is visible and > clickable: """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check Read the Toaster manual > + toaster_manual = jumbotron.find_element_by_link_text('Read the > Toaster manual') > + self.assertTrue(toaster_manual.is_displayed()) > + toaster_manual.click() > + self.assertTrue(" > https://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual" > in self.driver.current_url) > + > + def test_contrib_to_toaster_link_visible_and_clickable(self): > + """ Test Contribute to Toaster link jumbotron is visible and > clickable: """ > + self.get(reverse('landing')) > + jumbotron = self.find('.jumbotron') > + > + # check Contribute to Toaster > + contribute_to_toaster = > jumbotron.find_element_by_link_text('Contribute to Toaster') > + self.assertTrue(contribute_to_toaster.is_displayed()) > + contribute_to_toaster.click() > + self.assertTrue("wiki.yoctoproject.org/wiki/contribute_to_toaster" > in str(self.driver.current_url).lower()) > + > def test_only_default_project(self): > """ > No projects except default > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#15335): > https://lists.openembedded.org/g/bitbake-devel/message/15335 > Mute This Topic: https://lists.openembedded.org/mt/102286646/924729 > Group Owner: bitbake-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [ > ticotimo@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/lib/toaster/tests/browser/test_landing_page.py b/lib/toaster/tests/browser/test_landing_page.py index e731af22..ecbc0af3 100644 --- a/lib/toaster/tests/browser/test_landing_page.py +++ b/lib/toaster/tests/browser/test_landing_page.py @@ -12,7 +12,7 @@ from django.urls import reverse from django.utils import timezone from tests.browser.selenium_helpers import SeleniumTestCase -from orm.models import Project, Build +from orm.models import Layer, Layer_Version, Project, Build class TestLandingPage(SeleniumTestCase): """ Tests for redirects on the landing page """ @@ -61,6 +61,93 @@ class TestLandingPage(SeleniumTestCase): 'http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual') self.assertTrue("Documentation" in documentation_link.text) + def test_openembedded_jumbotron_link_visible_and_clickable(self): + """ Test OpenEmbedded link jumbotron is visible and clickable: """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check OpenEmbedded + openembedded = jumbotron.find_element_by_link_text('OpenEmbedded') + self.assertTrue(openembedded.is_displayed()) + openembedded.click() + self.assertTrue("openembedded.org" in self.driver.current_url) + + def test_bitbake_jumbotron_link_visible_and_clickable(self): + """ Test BitBake link jumbotron is visible and clickable: """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check BitBake + bitbake = jumbotron.find_element_by_link_text('BitBake') + self.assertTrue(bitbake.is_displayed()) + bitbake.click() + self.assertTrue("yoctoproject.org/software-item/bitbake" in self.driver.current_url) + + def test_yoctoproject_jumbotron_link_visible_and_clickable(self): + """ Test Yocto Project link jumbotron is visible and clickable: """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check Yocto Project + yoctoproject = jumbotron.find_element_by_link_text('Yocto Project') + self.assertTrue(yoctoproject.is_displayed()) + yoctoproject.click() + self.assertTrue("yoctoproject.org" in self.driver.current_url) + + def test_link_setup_usign_toaster_visible_and_clickable(self): + """ Test big magenta button setting up and using toaster link in jumbotron + if visible and clickable + """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check Big magenta button + big_magenta_button = jumbotron.find_element_by_link_text( + 'Toaster is ready to capture your command line builds' + ) + self.assertTrue(big_magenta_button.is_displayed()) + big_magenta_button.click() + self.assertTrue("docs.yoctoproject.org/toaster-manual/setup-and-use.html#setting-up-and-using-toaster" in self.driver.current_url) + + def test_link_create_new_project_in_jumbotron_visible_and_clickable(self): + """ Test big blue button create new project jumbotron if visible and clickable """ + # Create a layer and a layer version to make visible the big blue button + layer = Layer.objects.create(name='bar') + Layer_Version.objects.create(layer=layer) + + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check Big Blue button + big_blue_button = jumbotron.find_element_by_link_text( + 'Create your first Toaster project to run manage builds' + ) + self.assertTrue(big_blue_button.is_displayed()) + big_blue_button.click() + self.assertTrue("toastergui/newproject/" in self.driver.current_url) + + def test_toaster_manual_link_visible_and_clickable(self): + """ Test Read the Toaster manual link jumbotron is visible and clickable: """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check Read the Toaster manual + toaster_manual = jumbotron.find_element_by_link_text('Read the Toaster manual') + self.assertTrue(toaster_manual.is_displayed()) + toaster_manual.click() + self.assertTrue("https://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual" in self.driver.current_url) + + def test_contrib_to_toaster_link_visible_and_clickable(self): + """ Test Contribute to Toaster link jumbotron is visible and clickable: """ + self.get(reverse('landing')) + jumbotron = self.find('.jumbotron') + + # check Contribute to Toaster + contribute_to_toaster = jumbotron.find_element_by_link_text('Contribute to Toaster') + self.assertTrue(contribute_to_toaster.is_displayed()) + contribute_to_toaster.click() + self.assertTrue("wiki.yoctoproject.org/wiki/contribute_to_toaster" in str(self.driver.current_url).lower()) + def test_only_default_project(self): """ No projects except default
Test that the followings link are visible and clickable: - OpenEmbedded - BitBake - Yocto Project - Read the Toaster manual - Contribute to Toaster Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> --- .../tests/browser/test_landing_page.py | 89 ++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-)