Fix cypress tests

This commit is contained in:
Thilina Pituwala
2020-05-30 16:12:56 +02:00
parent df7ca7e924
commit f87139ef41
2 changed files with 82 additions and 80 deletions

View File

@@ -28,57 +28,57 @@ class RoboFile extends \Robo\Tasks
} }
public function languageList($client) { public function languageList($client) {
$this->includeCientConfig($client); $this->includeCientConfig($client);
$this->say("Supported Languages for ". $client); $this->say("Supported Languages for ". $client);
$language = new \Metadata\Common\Model\SupportedLanguage(); $language = new \Metadata\Common\Model\SupportedLanguage();
$langs = $language->Find('1 = 1'); $langs = $language->Find('1 = 1');
$this->say(print_r(array_column($langs, 'name'), true)); $this->say(print_r(array_column($langs, 'name'), true));
} }
public function languageExport($client) { public function languageExport($client) {
$this->includeCientConfig($client); $this->includeCientConfig($client);
$language = new \Metadata\Common\Model\SupportedLanguage(); $language = new \Metadata\Common\Model\SupportedLanguage();
$languages = $language->Find('1 = 1 order by id'); $languages = $language->Find('1 = 1 order by id');
$data = []; $data = [];
$data[0] = []; $data[0] = [];
$data[0][] = 'Key'; $data[0][] = 'Key';
foreach ($languages as $lang) { foreach ($languages as $lang) {
$data[0][] = $lang->name; $data[0][] = $lang->name;
$trans = \Classes\LanguageManager::getTranslations($lang->name); $trans = \Classes\LanguageManager::getTranslations($lang->name);
$trans = json_decode($trans, true)['messages']['']; $trans = json_decode($trans, true)['messages'][''];
$count = 1; $count = 1;
foreach ($trans as $enVal => $langVal) { foreach ($trans as $enVal => $langVal) {
if (!isset($data[$count])) { if (!isset($data[$count])) {
$data[$count] = []; $data[$count] = [];
$data[$count][] = $enVal; $data[$count][] = $enVal;
} }
$data[$count][] = $langVal[0]; $data[$count][] = $langVal[0];
$count += 1; $count += 1;
} }
} }
$fp = fopen(CLIENT_BASE_PATH.'data/translations_export.csv', 'w'); $fp = fopen(CLIENT_BASE_PATH.'data/translations_export.csv', 'w');
foreach ($data as $fields) { foreach ($data as $fields) {
fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF)); fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($fp, $fields); fputcsv($fp, $fields);
} }
fclose($fp); fclose($fp);
$this->say('File saved'); $this->say('File saved');
} }
public function languageImport($client, $file) { public function languageImport($client, $file) {
$this->includeCientConfig($client); $this->includeCientConfig($client);
$language = new \Metadata\Common\Model\SupportedLanguage(); $language = new \Metadata\Common\Model\SupportedLanguage();
$languages = $language->Find('1 = 1 order by id'); $languages = $language->Find('1 = 1 order by id');
foreach ($languages as $language) { foreach ($languages as $language) {
$str = $this->getUpdatedTranslationString($language->name, $file); $str = $this->getUpdatedTranslationString($language->name, $file);
file_put_contents( file_put_contents(
__DIR__.'/../lang/'.$language->name.'.po', __DIR__.'/../lang/'.$language->name.'.po',
$str); $str);
$this->say('Updated :'.realpath(__DIR__.'/../lang/'.$language->name.'.po')); $this->say('Updated :'.realpath(__DIR__.'/../lang/'.$language->name.'.po'));
} }
} }
public function migrate($client, $action){ public function migrate($client, $action){
$this->includeCientConfig($client); $this->includeCientConfig($client);
@@ -195,45 +195,45 @@ class RoboFile extends \Robo\Tasks
} }
} }
/** /**
* @param $lang * @param $lang
* @param $file * @param $file
* @return mixed * @return mixed
*/ */
protected function getUpdatedTranslationString($lang, $file) protected function getUpdatedTranslationString($lang, $file)
{ {
$handle = fopen(CLIENT_BASE_PATH . 'data/' . $file, "r"); $handle = fopen(CLIENT_BASE_PATH . 'data/' . $file, "r");
$langColumn = null; $langColumn = null;
/* @var \Gettext\Translations $trans */ /* @var \Gettext\Translations $trans */
$trans = \Classes\LanguageManager::getTranslationsObject($lang); $trans = \Classes\LanguageManager::getTranslationsObject($lang);
while (($data = fgetcsv($handle)) !== FALSE) { while (($data = fgetcsv($handle)) !== FALSE) {
if ($langColumn === null) { if ($langColumn === null) {
$currentColumn = 0; $currentColumn = 0;
foreach ($data as $language) { foreach ($data as $language) {
if ($language === $lang) { if ($language === $lang) {
$langColumn = $currentColumn; $langColumn = $currentColumn;
break; break;
} }
$currentColumn++; $currentColumn++;
} }
if ($langColumn === null) { if ($langColumn === null) {
$this->say('Invalid Language'); $this->say('Invalid Language');
exit(); exit();
} }
} else { } else {
/* @var \Gettext\Translation $tran */ /* @var \Gettext\Translation $tran */
$tran = $trans->find('', $data[0]); $tran = $trans->find('', $data[0]);
if ($tran !== false) { if ($tran !== false) {
$tran->setTranslation($data[$langColumn]); $tran->setTranslation($data[$langColumn]);
} else { } else {
$trans->insert('', $data[0]); $trans->insert('', $data[0]);
$tran = $trans->find('', $data[0]); $tran = $trans->find('', $data[0]);
$tran->setTranslation($data[$langColumn]); $tran->setTranslation($data[$langColumn]);
} }
} }
} }
return $trans->toPoString(); return $trans->toPoString();
} }
} }

View File

@@ -21,6 +21,8 @@ services:
- 8090:8090 - 8090:8090
logging: logging:
driver: none driver: none
depends_on:
- mysql-testing
# Cypress container # Cypress container
cypress: cypress: