From patchwork Thu Nov 9 15:16:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 34156 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33CE3C4167D for ; Thu, 9 Nov 2023 15:17:36 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web11.124279.1699543050649910770 for ; Thu, 09 Nov 2023 07:17:32 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=Mo2qEptQ; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 4CE3A9C321E for ; Thu, 9 Nov 2023 10:17:28 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id GLcyx2kT2lwX; Thu, 9 Nov 2023 10:17:27 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id BD1579C34BD; Thu, 9 Nov 2023 10:17:27 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com BD1579C34BD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1699543047; bh=JZmB3Td1xeI5Io6+U2xXxBZJobstBIZYu5bzKvGQZcg=; h=From:To:Date:Message-Id:MIME-Version; b=Mo2qEptQShaoNTmGP0rDT+bdU5yNgj5TctOb9pjBg1Dp9n8zwSfawH75fXTDaUGvI 9lyaHMVfrL4tfXqBKSIwtM7ORtZs3hIrrkHLHjEYKW2BaUi4qnitwKOuxGPC+F7wp7 TEchO6EyclbptOdGcjmgLsRi5A1wxkrRYZoV85IYPxzOqI44iBuKh70WFBBe2nzfok c3DKcRrJtOLa9kHmxpEIt3uFrq3T6pDcexVPeo46xYr4HgNuFOCMHQO95G/hKh1dmO MH+Py2qH6zX7sERrmBW4uaHSQzHnG5mUrRqU9ah+0+BusLkQMN9wfv7qhLuvnffuDa PlhTwnlEE2kzA== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id tIHdmtwixcXW; Thu, 9 Nov 2023 10:17:27 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 48EFD9C321E; Thu, 9 Nov 2023 10:17:25 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v4 1/3] Toaster: Check info_sign is visible and clickable in landing page Date: Thu, 9 Nov 2023 16:16:55 +0100 Message-Id: <20231109151657.53358-1-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 09 Nov 2023 15:17:36 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15460 Check the information icon is visible and clickable Also if popup appearing when clicked and contain "Toaster version information" Signed-off-by: Alassane Yattara --- lib/toaster/tests/browser/test_landing_page.py | 16 ++++++++++++++++ lib/toaster/toastergui/templates/base.html | 2 +- 2 files changed, 17 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..a3aa2f93 100644 --- a/lib/toaster/tests/browser/test_landing_page.py +++ b/lib/toaster/tests/browser/test_landing_page.py @@ -29,6 +29,22 @@ class TestLandingPage(SeleniumTestCase): self.project.is_default = True self.project.save() + 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 @@ Toaster {% if DEBUG %} - + {% endif %} From patchwork Thu Nov 9 15:16:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 34157 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E6E4C4332F for ; Thu, 9 Nov 2023 15:17:36 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web11.124283.1699543053795949947 for ; Thu, 09 Nov 2023 07:17:33 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=qDiGLjDT; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 72F0F9C321E for ; Thu, 9 Nov 2023 10:17:32 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id YFpXDi9Nq8s8; Thu, 9 Nov 2023 10:17:31 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 693F79C34BE; Thu, 9 Nov 2023 10:17:31 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 693F79C34BE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1699543051; bh=Zcva81Llxl/g4Sx24blsRVqhZY5NYzWfAqCPWU8lH7o=; h=From:To:Date:Message-Id:MIME-Version; b=qDiGLjDTrbvN291cLMw9yyOZakmKi5uyh5fef33Ey1t+QZKVXvo4GSZira1XwLxkF zoBXHiJBGmUCGCVNuPsW9jloLwmLP4+tOr2N1FeSozLRoZJKsglwtOaKXtSzFkfWbj tAT2fYxhPYz46D5XReC+xWlreCzO7xSK7aVMGQsP5A1HVngkDNJKVHjjQ/eWg5ladM mpONp5zE8gNesotBuFVIiEbqppM3EpDxHhSeMTNFLwXVw8Uhe8ZgzZbmHthAG1nCq+ cTtRfccRCxKApPvXSmH8J9dW3bQ0KeiWGdFH09LHmtHG5wyNiumxNIz3iMAtDfYhdw fDYNG27zSn89g== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id wDhZmLBGwk8K; Thu, 9 Nov 2023 10:17:31 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 70E8D9C34BD; Thu, 9 Nov 2023 10:17:27 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v4 2/3] Toaster: Test documentation link in landing header is displayed Date: Thu, 9 Nov 2023 16:16:56 +0100 Message-Id: <20231109151657.53358-2-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231109151657.53358-1-alassane.yattara@savoirfairelinux.com> References: <20231109151657.53358-1-alassane.yattara@savoirfairelinux.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 09 Nov 2023 15:17:36 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15461 - check that the documentation link is visible - check browser open new tab toaster manual when clicking on the documentation link Signed-off-by: Alassane Yattara --- lib/toaster/tests/browser/test_landing_page.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/toaster/tests/browser/test_landing_page.py b/lib/toaster/tests/browser/test_landing_page.py index a3aa2f93..771e627a 100644 --- a/lib/toaster/tests/browser/test_landing_page.py +++ b/lib/toaster/tests/browser/test_landing_page.py @@ -45,6 +45,21 @@ class TestLandingPage(SeleniumTestCase): self.assertTrue(info_modal.is_displayed()) self.assertTrue("Toaster version information" in info_modal.text) + def test_documentation_link_displayed(self): + """ Test that the documentation link is displayed """ + self.get(reverse('landing')) + documentation_link = self.find('#navbar-docs > a') + + # check that the documentation link is visible + self.assertTrue(documentation_link.is_displayed()) + + # check browser open new tab toaster manual when clicking on the documentation link + self.assertEqual(documentation_link.get_attribute('target') , '_blank') + self.assertEqual( + documentation_link.get_attribute('href'), + 'http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual') + self.assertTrue("Documentation" in documentation_link.text) + def test_only_default_project(self): """ No projects except default From patchwork Thu Nov 9 15:16:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 34158 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15259C4332F for ; Thu, 9 Nov 2023 15:17:56 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web11.124298.1699543075784637620 for ; Thu, 09 Nov 2023 07:17:55 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=S3NwrYTF; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id D15D79C321E for ; Thu, 9 Nov 2023 10:17:54 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id EYGQq0_ZZjqq; Thu, 9 Nov 2023 10:17:53 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id D58719C34BD; Thu, 9 Nov 2023 10:17:53 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com D58719C34BD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1699543073; bh=TrT/Cr+jy4rZ0rASZ4DjpwsMwJI5T5lROFANfgvcaTk=; h=From:To:Date:Message-Id:MIME-Version; b=S3NwrYTFUVF7Ea5OEbOkiOZfcr40Myi+8g6zEjhQaALNBhVla1Du54AMEXp7tgB+W CiLS6bKVpChkVCA8hAeM1wT2vxSkbwgz6l6s6lQaKJjc/PfzRgy/z36z5SdyASguiB M+p/92Ubt/NKcRK5OOgTwnTWCbyP2d7fqsyIsE2drguYVHgdLtc74UpwUjg9OIhe/J ZoVBO7fhSwSJrQ83erfvS5SLI8a51my0nBeVLbSV31rCOO+atk+eAwR5uwRFuH2hKD MMyfViw4i9nR/loywM8VjC/Bl+E17UZtwgWgzi0ZIjimvudG/QpcI3rPJPSY3wrAzg 008VdH7SCl0Vg== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id uSq3M1Z_88N1; Thu, 9 Nov 2023 10:17:53 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id A71069C321E; Thu, 9 Nov 2023 10:17:44 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v4 3/3] Toaster: Test jumbotron links visible and clickable Date: Thu, 9 Nov 2023 16:16:57 +0100 Message-Id: <20231109151657.53358-3-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231109151657.53358-1-alassane.yattara@savoirfairelinux.com> References: <20231109151657.53358-1-alassane.yattara@savoirfairelinux.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 09 Nov 2023 15:17:56 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15462 Test that the followings link are visible and clickable: - OpenEmbedded - BitBake - Yocto Project - Read the Toaster manual - Contribute to Toaster - Fixed typo: using instead of usign line:97 - Remove whitespace Signed-off-by: Alassane Yattara --- .../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 771e627a..7b425344 100644 --- a/lib/toaster/tests/browser/test_landing_page.py +++ b/lib/toaster/tests/browser/test_landing_page.py @@ -11,7 +11,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 """ @@ -60,6 +60,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_using_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