From fd202decc956bc5fb021da66ae855f5bbd696b77 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Tue, 28 Apr 2020 16:20:39 +0100
Subject: [PATCH] FIX #11895 TIME 1:35 Test E2E

---
 .gitlab-ci.yml                  |  2 --
 ci/docker_install_database.sh   |  2 --
 ci/docker_install_php.sh        |  5 +++++
 sql/structure.sql               |  1 +
 test/e2e/conf.js                | 12 ++++++------
 test/e2e/index-resource-spec.js | 24 ++++++++++++++++--------
 test/e2e/login-spec.js          | 20 ++++++++++++--------
 7 files changed, 40 insertions(+), 26 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5be5c9555c8..da39b1c5ec5 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,8 +36,6 @@ job_e2e:
  image: php:7.4-apache
  stage: test
  script:
-   - ls -al /etc/postgresql/
-   - service postgresql restart
    - sed -i -e "s/error_reporting = E_ALL \& ~E_DEPRECATED \& ~E_STRICT/error_reporting = E_ALL \& ~E_NOTICE \& ~E_DEPRECATED \& ~E_STRICT/g" /etc/php/7.4/apache2/php.ini \
    - sed -i -e "s/display_errors = Off/display_errors = On/g" /etc/php/7.4/apache2/php.ini \
    - sed -i -e "s/short_open_tag = Off/short_open_tag = On/g" /etc/php/7.4/apache2/php.ini
diff --git a/ci/docker_install_database.sh b/ci/docker_install_database.sh
index 4188337e550..6bb5e680128 100755
--- a/ci/docker_install_database.sh
+++ b/ci/docker_install_database.sh
@@ -11,5 +11,3 @@ apt-get install postgresql-client -yqq
 
 psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -w < /builds/maarch/MaarchCourrier/sql/structure.sql
 psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -w < /builds/maarch/MaarchCourrier/sql/data_fr.sql
-
-# sed -i -e "s/datestyle = 'iso, mdy'/datestyle = 'iso, dmy'/g" /etc/postgresql/10/main/postgresql.conf
diff --git a/ci/docker_install_php.sh b/ci/docker_install_php.sh
index 60993d59d70..9132ab44a31 100755
--- a/ci/docker_install_php.sh
+++ b/ci/docker_install_php.sh
@@ -18,6 +18,11 @@ apt-get install -y libpq-dev libxml2-dev libxslt1-dev libpng-dev unoconv xpdf-ut
 && curl --silent --show-error --location --fail --retry 3 --output /tmp/firefox.tar.bz2 $ACTUAL_URL \
 && tar -xvjf /tmp/firefox.tar.bz2 -C /opt \
 && ln -s /opt/firefox/firefox /usr/local/bin/firefox \
+&& curl --silent --show-error --location --fail --retry 3 --output /tmp/google-chrome-stable_current_amd64.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
+&& (dpkg -i /tmp/google-chrome-stable_current_amd64.deb || apt-get -fy install)  \
+&& rm -rf /tmp/google-chrome-stable_current_amd64.deb \
+&& sed -i 's|HERE/chrome"|HERE/chrome" --disable-setuid-sandbox --no-sandbox|g' \
+    "/opt/google/chrome/google-chrome" \
 && a2enmod rewrite \
 && touch directory.txt \
 && echo "<Directory /var/www/html>" >> directory.txt \
diff --git a/sql/structure.sql b/sql/structure.sql
index 422b8df701c..50e28797322 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -12,6 +12,7 @@ SET escape_string_warning = off;
 SET search_path = public, pg_catalog;
 SET default_tablespace = '';
 SET default_with_oids = false;
+SET datestyle TO 'iso, dmy';
 
 CREATE TABLE actions
 (
diff --git a/test/e2e/conf.js b/test/e2e/conf.js
index eb7c9f55c47..8347c4cce1c 100644
--- a/test/e2e/conf.js
+++ b/test/e2e/conf.js
@@ -7,12 +7,12 @@ exports.config = {
         //'about-us-spec.js'
     ],
     multiCapabilities: [
-        // {
-        //     'browserName': 'chrome',
-        //     'chromeOptions': {
-        //         'args': ["--no-sandbox", "--headless", "--disable-gpu",  "--window-size=1920,1080"]
-        //     },
-        // },
+        {
+            'browserName': 'chrome',
+            'chromeOptions': {
+                'args': ["--no-sandbox", "--headless", "--disable-gpu",  "--window-size=1920,1080"]
+            },
+        },
         {
             'browserName': 'firefox',
             'moz:firefoxOptions': {
diff --git a/test/e2e/index-resource-spec.js b/test/e2e/index-resource-spec.js
index dba63eddb2b..1163672e7c0 100644
--- a/test/e2e/index-resource-spec.js
+++ b/test/e2e/index-resource-spec.js
@@ -1,14 +1,18 @@
 var fs = require('fs');
 
 // abstract writing screen shot to a file
-function writeScreenShot(data, filename) {
-    var stream = fs.createWriteStream(filename+'.png');
-    stream.write(new Buffer.from(data, 'base64'));
-    stream.end();
-    // var stream = fs.createWriteStream(filename+'.txt');
-    // stream.write(data);
-    // stream.end();
-    // console.log(data);
+function writeScreenShot(data, filename, mode = 'base64') {
+    if (mode === 'base64') {
+        var stream = fs.createWriteStream(filename+'.png');
+        stream.write(new Buffer.from(data, 'base64'));
+        stream.end();
+    } else if (mode === 'txt') {
+        var stream = fs.createWriteStream(filename+'.txt');
+        stream.write(data);
+        stream.end();
+    } else if (mode === 'console') {
+        console.log(data);
+    }
 }
 
 describe('index resource page', function () {
@@ -52,6 +56,10 @@ describe('index resource page', function () {
         element(by.css('[placeholder="Ajouter une annotation"]')).sendKeys('test ee');
         browser.sleep(500);
         element(by.cssContainingText('.mat-dialog-content-container .mat-button-wrapper', 'Valider')).click();
+        browser.sleep(100);
+        browser.takeScreenshot().then(function (png) {
+            writeScreenShot(png, 'test/e2e/screenshots/validate_indexation_' + browser.browserName, 'console');
+        });
         browser.sleep(500);
         expect(browser.getCurrentUrl()).toContain('/resources/');
         browser.sleep(4000);
diff --git a/test/e2e/login-spec.js b/test/e2e/login-spec.js
index e62d1adc159..f1fee00114b 100644
--- a/test/e2e/login-spec.js
+++ b/test/e2e/login-spec.js
@@ -1,13 +1,17 @@
 var fs = require('fs');
 
-function writeScreenShot(data, filename) {
-    var stream = fs.createWriteStream(filename+'.png');
-    stream.write(new Buffer.from(data, 'base64'));
-    stream.end();
-    // var stream = fs.createWriteStream(filename+'.txt');
-    // stream.write(data);
-    // stream.end();
-    // console.log(data);
+function writeScreenShot(data, filename, mode = 'base64') {
+    if (mode === 'base64') {
+        var stream = fs.createWriteStream(filename+'.png');
+        stream.write(new Buffer.from(data, 'base64'));
+        stream.end();
+    } else if (mode === 'txt') {
+        var stream = fs.createWriteStream(filename+'.txt');
+        stream.write(data);
+        stream.end();
+    } else if (mode === 'console') {
+        console.log(data);
+    }
 }
 
 describe('Login to app', function() {
-- 
GitLab