#!/usr/bin/env bash
set -e


## include global bundle test configuration

source $TRAVIS_BUILD_DIR/tests/bundle_configuration


## setup php

phpenv config-add $DACHCOM_BUNDLE_HOME/tests/etc/config/system/php.ini


# Install chrome driver

wget -c -nc --retry-connrefused --tries=0 "https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip" -O chromedriver_linux64.zip
unzip -o -q chromedriver_linux64.zip -d $HOME


## setup mysql

mysql --version
mysql -e "SET GLOBAL innodb_file_format=Barracuda;"
mysql -e "SET GLOBAL innodb_large_prefix=1;"
mysql -e "CREATE DATABASE dachcom_bundle_test CHARSET=utf8mb4;"


## move bundle temporarily and clean dir in order to install pimcore

mkdir -p $DACHCOM_BUNDLE_HOME/../lib/$DACHCOM_BUNDLE_NAME
mv $DACHCOM_BUNDLE_HOME/{.[!.],}* $DACHCOM_BUNDLE_HOME/../lib/$DACHCOM_BUNDLE_NAME
rm -rf $DACHCOM_BUNDLE_HOME/{.[!.],}*


## clone pimcore

git clone https://github.com/pimcore/skeleton.git $DACHCOM_BUNDLE_HOME
git checkout ${PIMCORE_SKELETON_BRANCH} $DACHCOM_BUNDLE_HOME


## move bundle back into lib/$DACHCOM_BUNDLE_NAME

mv $DACHCOM_BUNDLE_HOME/../lib $DACHCOM_BUNDLE_HOME


## copy etc dir to root dir

cp -r $DACHCOM_BUNDLE_HOME/lib/$DACHCOM_BUNDLE_NAME/tests/bundle_configuration $DACHCOM_BUNDLE_HOME/bundle_configuration
cp -r $DACHCOM_BUNDLE_HOME/lib/$DACHCOM_BUNDLE_NAME/tests/etc $DACHCOM_BUNDLE_HOME/etc
chmod -R +x $DACHCOM_BUNDLE_HOME/etc


## create download dir

mkdir $DACHCOM_BUNDLE_HOME/lib/$DACHCOM_BUNDLE_NAME/tests/_data/downloads


## add config templates

mkdir -p $DACHCOM_BUNDLE_HOME/var/config
cp $DACHCOM_BUNDLE_HOME/etc/config/system/config.yml app/config/config.yml
cp app/config/parameters.example.yml app/config/parameters.yml

for K in "${!DACHCOM_INSTALL_CONFIG_FILES[@]}"
do
    cp $K ${DACHCOM_INSTALL_CONFIG_FILES[$K]};
done

##  install composer dependencies

COMPOSER_MEMORY_LIMIT=-1 composer install --no-scripts

##  install $DACHCOM_BUNDLE_NAME dependencies

COMPOSER_MEMORY_LIMIT=-1 composer require symfony/phpunit-bridge:^3 dachcom-digital/$DACHCOM_BUNDLE_REPO_NAME:dev-$DACHCOM_BUNDLE_BRANCH#$DACHCOM_BUNDLE_COMMIT


##  clear cache

rm -rf var/cache
