From 271e9b530686ab76a026037a422e71bae9948e90 Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@suma-ev.de>
Date: Thu, 15 Sep 2022 14:45:02 +0200
Subject: [PATCH] fixed widget test

---
 metager/lang/.translation_io              |  2 +-
 metager/lang/de/widget.php                |  3 +--
 metager/lang/en/widget.php                |  3 +--
 metager/tests/Browser/Pages/Widget.php    | 23 +++++++++++------------
 metager/tests/Browser/StaticPagesTest.php |  4 ++--
 5 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/metager/lang/.translation_io b/metager/lang/.translation_io
index 23c18d7b7..8ab5d547b 100644
--- a/metager/lang/.translation_io
+++ b/metager/lang/.translation_io
@@ -1 +1 @@
-{"timestamp":1663244717}
\ No newline at end of file
+{"timestamp":1663245857}
\ No newline at end of file
diff --git a/metager/lang/de/widget.php b/metager/lang/de/widget.php
index 84569730b..b381e4327 100644
--- a/metager/lang/de/widget.php
+++ b/metager/lang/de/widget.php
@@ -3,8 +3,7 @@
 return [
     'head'   => 'MetaGer Widget',
 
-    'body.1' => 'MetaGer zum Einbau in Ihre Webseite.
-Wählen Sie dafür aus, wo gesucht werden soll:',
+    'body.1' => 'MetaGer zum Einbau in Ihre Webseite. Wählen Sie dafür aus, wo gesucht werden soll:',
     'body.2' => 'Suche im Web',
     'body.3' => 'Suche nur auf einer Domain',
     'body.4' => 'Hinweis: Sie dürfen das Widget nicht verwenden, wenn Sie auf Ihrer Seite damit den Eindruck zu erwecken versuchen, MetaGer sei Ihre Dienstleistung oder wenn der Eindruck erweckt werden sollte, Ihre Seiten seien die wahren MetaGer-Seiten (das ist alles schon vorgekommen). Insbesondere ist es aus diesem Grund nicht erlaubt, unser Logo zu entfernen.',
diff --git a/metager/lang/en/widget.php b/metager/lang/en/widget.php
index 901acfb81..3db093806 100644
--- a/metager/lang/en/widget.php
+++ b/metager/lang/en/widget.php
@@ -2,8 +2,7 @@
 return [
     'head' => 'MetaGer Widget',
     'body' => [
-        1   => 'MetaGer for usage on your website.
-Please choose the scope of your widget:',
+        1   => 'MetaGer to install on your website. To do this, select where you want to search:',
         2   => 'Search the Web',
         3   => 'Search one Domain',
         4   => 'Please note: You must not use this widget, if your implementation suggests that MetaGer is your service or that your site is the real MetaGer homepage (all this has already happened). Therefore it is especially forbidden to remove our logo.',
diff --git a/metager/tests/Browser/Pages/Widget.php b/metager/tests/Browser/Pages/Widget.php
index f76e540e3..83ebe0a08 100644
--- a/metager/tests/Browser/Pages/Widget.php
+++ b/metager/tests/Browser/Pages/Widget.php
@@ -3,6 +3,8 @@
 namespace Tests\Browser\Pages;
 
 use Laravel\Dusk\Browser;
+use Laravel\Dusk\Page;
+use LaravelLocalization;
 
 class Widget extends Page
 {
@@ -11,9 +13,9 @@ class Widget extends Page
      *
      * @return string
      */
-    public function url()
+    public function url($locale = null)
     {
-        return '/widget';
+        return LaravelLocalization::getLocalizedUrl($locale, "/widget");
     }
 
     /**
@@ -24,17 +26,14 @@ class Widget extends Page
      */
     public function assert(Browser $browser)
     {
-        $browser->assertPathIs($this->url())
-            ->waitForText("MetaGer zum Einbau in Ihre Webseite. Wählen Sie dafür aus, wo gesucht werden soll:")
-            ->assertTitle("MetaGer Widget")
-            ->switchLanguage("English")
-            ->waitForText("MetaGer for usage on your website. Please choose the scope of your widget:")
-            ->assertTitle("MetaGer Widget")
-            ->switchLanguage("Español")
-            ->waitForText("MetaGer para la integración en su sitio web. Para hacer esto, seleccione dónde buscar:")
-            ->assertTitle("MetaGer Widget")
-            ->switchLanguage("Deutsch");
+        foreach (LaravelLocalization::getSupportedLocales() as $locale => $locale_data) {
+            $url = $this->url($locale);
+            $lang = \preg_replace("/^([a-zA-Z]+)-.*/", "$1", $locale);
 
+            $browser->visit($url)
+                ->waitForText(trans("widget.body.1", [], $lang))
+                ->assertTitle(trans("titles.widget", [], $lang));
+        }
     }
 
     /**
diff --git a/metager/tests/Browser/StaticPagesTest.php b/metager/tests/Browser/StaticPagesTest.php
index 7dc7cf2a5..19590cc50 100644
--- a/metager/tests/Browser/StaticPagesTest.php
+++ b/metager/tests/Browser/StaticPagesTest.php
@@ -147,7 +147,7 @@ class StaticPagesTest extends DuskTestCase
                 ->on(new Team);
         });
     }
-/*
+
     public function testWidget()
     {
         // Widget
@@ -161,7 +161,7 @@ class StaticPagesTest extends DuskTestCase
                 ->on(new Widget);
         });
     }
-
+/*
     public function testWebsearchWidget()
     {
         // Websearch Widget
-- 
GitLab