Skip to content

Commit

Permalink
add phpunit test for social groups
Browse files Browse the repository at this point in the history
- checking html validity
  • Loading branch information
boly38 committed Jul 19, 2018
1 parent fba3caa commit c2f16c0
Show file tree
Hide file tree
Showing 5 changed files with 130 additions and 77 deletions.
18 changes: 18 additions & 0 deletions tests/SocialGroupsTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

use PHPUnit\Framework\TestCase;

class SocialGroupsTest extends TestCase {
public function test_generate_social_groups() {
// GIVEN
require_once 'website/templates/konfig-groups.php';
$socialGroups = new \Geokrety\View\SocialGroups($config['gk_social_groups']);

// WHEN
$groupsCount = $socialGroups->count();
$groupsTable = $socialGroups->toHtmlTable();

// THEN
$this->assertGreaterThan(0, $groupsCount, 'please define one or more social groups into konfig-groups');
}
}
21 changes: 2 additions & 19 deletions website/help_generate.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,9 @@

$TRESC = file_get_contents("help/$jezyk/help.html");

$socialGroups = $config['gk_social_groups'];
$socialGroups = new \Geokrety\View\SocialGroups($config['gk_social_groups']);

$groupsTable = '<table style="padding:15px;" cellpadding="10">'
.'<thead><tr>'
.'<th>'.$socialGroups[0]['lang'].'</th>'
.'<th>'.$socialGroups[0]['service'].'</th>'
.'<th>'.$socialGroups[0]['title'].'</th>'
.'</tr></thead>'
.'<tbody>';
for ($i = 1; $i < count($socialGroups); ++$i) {
$groupsTable .= '<tr>'
.'<td style="padding:4px;"><img src="https://cdn.geokrety.org/images/country-codes/'
.$socialGroups[$i]['flag']
.'.png"/>'
.'&#160;'.$socialGroups[$i]['lang'].'</td>'
.'<td>'.$socialGroups[$i]['service'].'</td>'
.'<td><a href="'.$socialGroups[$i]['link'].'">'.$socialGroups[$i]['title'].'</td>'
.'</tr>';
}
$groupsTable .= '</tbody></table>';
$groupsTable = $socialGroups->toHtmlTable();

// replace #GK_SOCIAL_GROUPS# with table of social groups
$TRESC = str_replace('#GK_SOCIAL_GROUPS#', "$groupsTable", $TRESC);
Expand Down
45 changes: 45 additions & 0 deletions website/lib/geokrety/view/SocialGroups.class.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

namespace Geokrety\View;

/**
* HTML Helper, a way to generate GeoKrety Social Groups Html Table.
**/
class SocialGroups {
private $socialGroups;

public function __construct($config) {
$this->socialGroups = $config;
}

public function count() {
if (!isset($this->socialGroups)) {
return 0;
}

return count($this->socialGroups) - 1;
}

public function toHtmlTable() {
$groupsTable = '<table style="padding:15px;" cellpadding="10">'
.'<thead><tr>'
.'<th>'.$this->socialGroups[0]['lang'].'</th>'
.'<th>'.$this->socialGroups[0]['service'].'</th>'
.'<th>'.$this->socialGroups[0]['title'].'</th>'
.'</tr></thead>'
.'<tbody>';
for ($i = 1; $i < count($this->socialGroups); ++$i) {
$groupsTable .= '<tr>'
.'<td style="padding:4px;"><img src="https://cdn.geokrety.org/images/country-codes/'
.$this->socialGroups[$i]['flag']
.'.png"/>'
.'&#160;'.$this->socialGroups[$i]['lang'].'</td>'
.'<td>'.$this->socialGroups[$i]['service'].'</td>'
.'<td><a href="'.$this->socialGroups[$i]['link'].'">'.$this->socialGroups[$i]['title'].'</td>'
.'</tr>';
}
$groupsTable .= '</tbody></table>';

return $groupsTable;
}
}
49 changes: 49 additions & 0 deletions website/templates/konfig-groups.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?php

if (!isset($config)) {
$config = array();
}

$config['gk_social_groups'] = array();
$config['gk_social_groups'][0] = [
'link' => _('group link'),
'service' => _('group service'),
'title' => _('group name'),
'lang' => _('languages'),
'flag' => _('flag'),
];
$config['gk_social_groups'][1] = [
'link' => 'https://www.facebook.com/groups/1624761011150615/about/',
'service' => 'Facebook',
'title' => 'GeoKret en France',
'lang' => 'french',
'flag' => 'fr',
];
$config['gk_social_groups'][2] = [
'link' => 'https://www.facebook.com/groups/317897208552636/about/',
'service' => 'Facebook',
'title' => 'GeoCaching met GeoKrety.Org',
'lang' => 'dutch',
'flag' => 'de',
];
$config['gk_social_groups'][3] = [
'link' => 'https://plus.google.com/communities/100975961916549394786',
'service' => 'Google+',
'title' => 'GeoKrety Discussion',
'lang' => 'dutch, english',
'flag' => 'de',
];
$config['gk_social_groups'][4] = [
'link' => 'https://forum.opencaching.pl/viewforum.php?f=11',
'service' => 'Opencaching Poland',
'title' => 'geokrety',
'lang' => 'polska',
'flag' => 'pl',
];
$config['gk_social_groups'][5] = [
'link' => 'https://geoclub.de/forum/viewforum.php?f=102',
'service' => 'geoclub.de forum',
'title' => 'Geokrety',
'lang' => 'dutch',
'flag' => 'de',
];
74 changes: 16 additions & 58 deletions website/templates/konfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,20 @@
$config['cdn_css'] = $config['cdn_url'].'/css';
$config['cdn_maps'] = $config['cdn_url'].'/maps';

define('CONFIG_CDN', $config['cdn_url']);
define('CONFIG_CDN_IMAGES', $config['cdn_images']);
define('CONFIG_CDN_OBRAZKI', $config['cdn_obrazki']);
define('CONFIG_CDN_OBRAZKI_MALE', $config['cdn_obrazki_male']);
define('CONFIG_CDN_ICONS', $config['cdn_icons']);
define('CONFIG_CDN_LOG_ICONS', $config['cdn_log_icons']);
define('CONFIG_CDN_PINS_ICONS', $config['cdn_pins']);
define('CONFIG_CDN_API_ICONS', $config['cdn_api_icon_16']);
define('CONFIG_CDN_COUNTRY_FLAGS', $config['cdn_country_codes']);
define('CONFIG_CDN_LIBRARIES', $config['cdn_libraries']);
define('CONFIG_CDN_JS', $config['cdn_js']);
define('CONFIG_CDN_CSS', $config['cdn_css']);
define('CONFIG_CDN_MAPS', $config['cdn_maps']);

//js
$config['funkcje.js'] = '/funkcje.js';
$config['ajaxtooltip.js'] = CONFIG_CDN_LIBRARIES.'/ajaxtooltip/ajaxtooltip-1.min.js';
Expand Down Expand Up @@ -177,52 +191,10 @@
$cotozakret['3'] = _('A coin');
$cotozakret['4'] = _('KretyPost');

$config['gk_social_groups'] = array();
$config['gk_social_groups'][0] = [
'link' => _('group link'),
'service' => _('group service'),
'title' => _('group name'),
'lang' => _('languages'),
'flag' => _('flag'),
];
$config['gk_social_groups'][1] = [
'link' => 'https://www.facebook.com/groups/1624761011150615/about/',
'service' => 'Facebook',
'title' => 'GeoKret en France',
'lang' => 'french',
'flag' => 'fr',
];
$config['gk_social_groups'][2] = [
'link' => 'https://www.facebook.com/groups/317897208552636/about/',
'service' => 'Facebook',
'title' => 'GeoCaching met GeoKrety.Org',
'lang' => 'dutch',
'flag' => 'de',
];
$config['gk_social_groups'][3] = [
'link' => 'https://plus.google.com/communities/100975961916549394786',
'service' => 'Google+',
'title' => 'GeoKrety Discussion',
'lang' => 'dutch, english',
'flag' => 'de',
];
$config['gk_social_groups'][4] = [
'link' => 'https://forum.opencaching.pl/viewforum.php?f=11',
'service' => 'Opencaching Poland',
'title' => 'geokrety',
'lang' => 'polska',
'flag' => 'pl',
];
$config['gk_social_groups'][5] = [
'link' => 'https://geoclub.de/forum/viewforum.php?f=102',
'service' => 'geoclub.de forum',
'title' => 'Geokrety',
'lang' => 'dutch',
'flag' => 'de',
];

$config_ile_wzorow_banerkow = 9; // ile wzorأ³w banerkأ³w ze statystykami

@require dirname(__FILE__).'/konfig-groups.php';

@require dirname(__FILE__).'/konfig-local.php';
//this is important, because we may include konfig.php from other directory like /a/b/c/test.php
//in that case it is safest if we point to konfig-local using full path using dirname(__FILE__).
Expand Down Expand Up @@ -270,20 +242,6 @@ function DBConnect() {
}
}

define('CONFIG_CDN', $config['cdn_url']);
define('CONFIG_CDN_IMAGES', $config['cdn_images']);
define('CONFIG_CDN_OBRAZKI', $config['cdn_obrazki']);
define('CONFIG_CDN_OBRAZKI_MALE', $config['cdn_obrazki_male']);
define('CONFIG_CDN_ICONS', $config['cdn_icons']);
define('CONFIG_CDN_LOG_ICONS', $config['cdn_log_icons']);
define('CONFIG_CDN_PINS_ICONS', $config['cdn_pins']);
define('CONFIG_CDN_API_ICONS', $config['cdn_api_icon_16']);
define('CONFIG_CDN_COUNTRY_FLAGS', $config['cdn_country_codes']);
define('CONFIG_CDN_LIBRARIES', $config['cdn_libraries']);
define('CONFIG_CDN_JS', $config['cdn_js']);
define('CONFIG_CDN_CSS', $config['cdn_css']);
define('CONFIG_CDN_MAPS', $config['cdn_maps']);

define('SWISTAK_KEY', $config['swistak_key']);
define('SWISTAK_IV32', $config['swistak_iv32']);

Expand Down

0 comments on commit c2f16c0

Please sign in to comment.