Re: [bitbake-devel] [PATCH 1/3] Toaster: Check info_sign is visible and clickable in landing page
Tim Orling <[email protected]> Tue, 31 Oct 2023 08:28:57 -0700
| Newsgroups | org.yoctoproject.lists.toaster,org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <CANx9H-CjFsyKpJ-HtLVJnozJhxM4D2==nWX=Yzo2_rsQgPvmzw@mail.gmail.com> |
On Mon, Oct 30, 2023 at 3:26 PM Alassane Yattara < [email protected]> wrote: > Check the information icon is visible and clickable > Also if popup appearing when clicked and contain "Toaster version > information" > > Signed-off-by: Alassane Yattara <[email protected]> > --- > lib/toaster/tests/browser/test_landing_page.py | 17 +++++++++++++++++ > lib/toaster/toastergui/templates/base.html | 2 +- > 2 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/lib/toaster/tests/browser/test_landing_page.py > b/lib/toaster/tests/browser/test_landing_page.py > index 8bb64b9f..2f092400 100644 > --- a/lib/toaster/tests/browser/test_landing_page.py > +++ b/lib/toaster/tests/browser/test_landing_page.py > @@ -7,6 +7,7 @@ > # Copyright (C) 2013-2016 Intel Corporation > # > > +from time import sleep > This import is unused in this commit. Also, in general we want to avoid tests that rely on specific timing anyway. > from django.urls import reverse > from django.utils import timezone > from tests.browser.selenium_helpers import SeleniumTestCase > @@ -29,6 +30,22 @@ class TestLandingPage(SeleniumTestCase): > self.project.is_default = True > self.project.save() > > The test case itself seems reasonable. > + def test_icon_info_visible_and_clickable(self): > + """ Test that the information icon is visible and clickable """ > + self.get(reverse('landing')) > + info_sign = self.find('#toaster-version-info-sign') > + > + # check that the info sign is visible > + self.assertTrue(info_sign.is_displayed()) > + > + # check that the info sign is clickable > + # and info modal is appearing when clicking on the info sign > + info_sign.click() # click on the info sign make attribute > 'aria-describedby' visible > + info_model_id = info_sign.get_attribute('aria-describedby') > + info_modal = self.find(f'#{info_model_id}') > + self.assertTrue(info_modal.is_displayed()) > + self.assertTrue("Toaster version information" in info_modal.text) > + > def test_only_default_project(self): > """ > No projects except default > diff --git a/lib/toaster/toastergui/templates/base.html > b/lib/toaster/toastergui/templates/base.html > index e8600f3e..041448d1 100644 > --- a/lib/toaster/toastergui/templates/base.html > +++ b/lib/toaster/toastergui/templates/base.html > @@ -94,7 +94,7 @@ > </a> > <a class="brand" href="/">Toaster</a> > {% if DEBUG %} > - <span class="glyphicon glyphicon-info-sign" > title="<strong>Toaster version information</strong>" > data-content="<dl><dt>Git branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Git > revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"></i> > + <span id="toaster-version-info-sign" class="glyphicon > glyphicon-info-sign" title="<strong>Toaster version information</strong>" > data-content="<dl><dt>Git branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Git > revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"> Adding an id for the span is very helpful for both testing and using e.g. Developer Tools in Chromium or Firefox. Good idea. > </i> > {% endif %} > </div> > </div> > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#15333): > https://lists.openembedded.org/g/bitbake-devel/message/15333 > Mute This Topic: https://lists.openembedded.org/mt/102286644/924729 > Group Owner: [email protected] > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [ > [email protected]] > -=-=-=-=-=-=-=-=-=-=-=- > >