diff --git a/DataStorage/Database/Connection/SQLiteConnection.php b/DataStorage/Database/Connection/SQLiteConnection.php index 02f1db516..5e45f345f 100644 --- a/DataStorage/Database/Connection/SQLiteConnection.php +++ b/DataStorage/Database/Connection/SQLiteConnection.php @@ -65,6 +65,7 @@ final class SqliteConnection extends ConnectionAbstract $this->status = DatabaseStatus::OK; } catch (\PDOException $e) { + var_dump($e->getMessage()); $this->status = DatabaseStatus::MISSING_DATABASE; $this->con = null; } diff --git a/Localization/Defaults/CountryMapper.php b/Localization/Defaults/CountryMapper.php index 5f5f3c5e8..20afc0328 100644 --- a/Localization/Defaults/CountryMapper.php +++ b/Localization/Defaults/CountryMapper.php @@ -42,7 +42,7 @@ class CountryMapper extends DataMapperAbstract 'country_code2' => ['name' => 'country_code2', 'type' => 'string', 'internal' => 'code2'], 'country_code3' => ['name' => 'country_code3', 'type' => 'string', 'internal' => 'code3'], 'country_numeric' => ['name' => 'country_numeric', 'type' => 'int', 'internal' => 'numeric'], - 'country_subdevision' => ['name' => 'country_subdevision', 'type' => 'float', 'internal' => 'subdevision'], + 'country_subdevision' => ['name' => 'country_subdevision', 'type' => 'string', 'internal' => 'subdevision'], ]; /** diff --git a/Localization/Defaults/CurrencyMapper.php b/Localization/Defaults/CurrencyMapper.php index 93f45c6e1..39d8e99e5 100644 --- a/Localization/Defaults/CurrencyMapper.php +++ b/Localization/Defaults/CurrencyMapper.php @@ -41,7 +41,7 @@ class CurrencyMapper extends DataMapperAbstract 'currency_name' => ['name' => 'currency_name', 'type' => 'string', 'internal' => 'name'], 'currency_code' => ['name' => 'currency_code', 'type' => 'string', 'internal' => 'code'], 'currency_number' => ['name' => 'currency_number', 'type' => 'int', 'internal' => 'number'], - 'currency_decimal' => ['name' => 'currency_decimal', 'type' => 'int', 'internal' => 'decimal'], + 'currency_decimal' => ['name' => 'currency_decimal', 'type' => 'int', 'internal' => 'decimals'], 'currency_countries' => ['name' => 'currency_countries', 'type' => 'string', 'internal' => 'countries'], ]; diff --git a/Localization/Defaults/Iban.php b/Localization/Defaults/Iban.php index 27e6f6979..b84c55c07 100644 --- a/Localization/Defaults/Iban.php +++ b/Localization/Defaults/Iban.php @@ -46,7 +46,7 @@ final class Iban * @var string * @since 1.0.0 */ - private $chars = ''; + private $chars = 2; /** * Iban bban. @@ -79,11 +79,11 @@ final class Iban /** * Get iban chars * - * @return string + * @return int * * @since 1.0.0 */ - public function getChars() : string + public function getChars() : int { return $this->chars; } diff --git a/Localization/Defaults/IbanMapper.php b/Localization/Defaults/IbanMapper.php index 886827542..e17d0ac5b 100644 --- a/Localization/Defaults/IbanMapper.php +++ b/Localization/Defaults/IbanMapper.php @@ -39,7 +39,7 @@ class IbanMapper extends DataMapperAbstract protected static $columns = [ 'iban_id' => ['name' => 'iban_id', 'type' => 'int', 'internal' => 'id'], 'iban_country' => ['name' => 'iban_country', 'type' => 'string', 'internal' => 'country'], - 'iban_chars' => ['name' => 'iban_chars', 'type' => 'string', 'internal' => 'chars'], + 'iban_chars' => ['name' => 'iban_chars', 'type' => 'int', 'internal' => 'chars'], 'iban_bban' => ['name' => 'iban_bban', 'type' => 'string', 'internal' => 'bban'], 'iban_fields' => ['name' => 'iban_fields', 'type' => 'string', 'internal' => 'fields'], ]; diff --git a/Localization/Defaults/Language.php b/Localization/Defaults/Language.php index e87a3f358..63019a65d 100644 --- a/Localization/Defaults/Language.php +++ b/Localization/Defaults/Language.php @@ -64,6 +64,14 @@ final class Language */ private $code3 = ''; + /** + * Language code. + * + * @var string + * @since 1.0.0 + */ + private $code3Native = ''; + /** * Get language name * @@ -111,4 +119,16 @@ final class Language { return $this->code3; } + + /** + * Get language code + * + * @return string + * + * @since 1.0.0 + */ + public function getCode3Native() : string + { + return $this->code3Native; + } } diff --git a/Localization/Defaults/LanguageMapper.php b/Localization/Defaults/LanguageMapper.php index 359dc941f..7b1d0e996 100644 --- a/Localization/Defaults/LanguageMapper.php +++ b/Localization/Defaults/LanguageMapper.php @@ -38,9 +38,10 @@ class LanguageMapper extends DataMapperAbstract */ protected static $columns = [ 'language_id' => ['name' => 'language_id', 'type' => 'int', 'internal' => 'id'], - 'language_name' => ['name' => 'language_name', 'type' => 'string', 'internal' => 'name'], - 'language_native' => ['name' => 'language_native', 'type' => 'string', 'internal' => 'native'], + 'language_native' => ['name' => 'language_native', 'type' => 'string', 'internal' => 'name'], + 'language_639_1' => ['name' => 'language_639_1', 'type' => 'string', 'internal' => 'native'], 'language_639_2T' => ['name' => 'language_639_2T', 'type' => 'string', 'internal' => 'code2'], + 'language_639_2B' => ['name' => 'language_639_2B', 'type' => 'string', 'internal' => 'code3Native'], 'language_639_3' => ['name' => 'language_639_3', 'type' => 'string', 'internal' => 'code3'], ]; diff --git a/Message/NotificationLevel.php b/Message/NotificationLevel.php new file mode 100644 index 000000000..c75ca857f --- /dev/null +++ b/Message/NotificationLevel.php @@ -0,0 +1,32 @@ + '', + 'db' => 'sqlite', + 'path' => realpath(__DIR__ . '/../../../Localization/Defaults/localization.sqlite'), + ]); + + DataMapperAbstract::setConnection($con); + } + + public function testR() + { + $obj = CityMapper::get(101079); + self::assertEquals('DE', $obj->getCountryCode()); + self::assertEquals('Frankfurt', $obj->getName()); + self::assertEquals(60322, $obj->getPostal()); + self::assertGreaterThan(50, $obj->getLat()); + self::assertGreaterThan(8, $obj->getLong()); + self::assertLessThan(51, $obj->getLat()); + self::assertLessThan(9, $obj->getLong()); + } + + static function tearDownAfterClass() + { + DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); + } } diff --git a/tests/Localization/Defaults/CountryMapperTest.php b/tests/Localization/Defaults/CountryMapperTest.php index 629f35676..335cddf58 100644 --- a/tests/Localization/Defaults/CountryMapperTest.php +++ b/tests/Localization/Defaults/CountryMapperTest.php @@ -17,7 +17,34 @@ require_once __DIR__ . '/../../Autoloader.php'; use phpOMS\Localization\Defaults\Country; use phpOMS\Localization\Defaults\CountryMapper; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Connection\SQLiteConnection; class CountryMapperTest extends \PHPUnit\Framework\TestCase { + static function setUpBeforeClass() + { + $con = new SqliteConnection([ + 'prefix' => '', + 'db' => 'sqlite', + 'path' => realpath(__DIR__ . '/../../../Localization/Defaults/localization.sqlite'), + ]); + + DataMapperAbstract::setConnection($con); + } + + public function testR() + { + $obj = CountryMapper::get(83); + self::assertEquals('Germany', $obj->getName()); + self::assertEquals('DE', $obj->getCode2()); + self::assertEquals('DEU', $obj->getCode3()); + self::assertEquals(276, $obj->getNumeric()); + self::assertEquals('ISO 3166-2:DE', $obj->getSubdevision()); + } + + static function tearDownAfterClass() + { + DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); + } } diff --git a/tests/Localization/Defaults/CurrencyMapperTest.php b/tests/Localization/Defaults/CurrencyMapperTest.php index e80f7f9a9..8184a5d7b 100644 --- a/tests/Localization/Defaults/CurrencyMapperTest.php +++ b/tests/Localization/Defaults/CurrencyMapperTest.php @@ -17,7 +17,34 @@ require_once __DIR__ . '/../../Autoloader.php'; use phpOMS\Localization\Defaults\Currency; use phpOMS\Localization\Defaults\CurrencyMapper; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Connection\SQLiteConnection; class CurrencyMapperTest extends \PHPUnit\Framework\TestCase { + static function setUpBeforeClass() + { + $con = new SqliteConnection([ + 'prefix' => '', + 'db' => 'sqlite', + 'path' => realpath(__DIR__ . '/../../../Localization/Defaults/localization.sqlite'), + ]); + + DataMapperAbstract::setConnection($con); + } + + public function testR() + { + $obj = CurrencyMapper::get(50); + self::assertEquals('Euro', $obj->getName()); + self::assertEquals('EUR', $obj->getCode()); + self::assertEquals(978, $obj->getNumber()); + self::assertEquals(2, $obj->getDecimals()); + self::assertContains('Germany', $obj->getCountries()); + } + + static function tearDownAfterClass() + { + DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); + } } diff --git a/tests/Localization/Defaults/IbanMapperTest.php b/tests/Localization/Defaults/IbanMapperTest.php index 080f03bf4..3c9ec8790 100644 --- a/tests/Localization/Defaults/IbanMapperTest.php +++ b/tests/Localization/Defaults/IbanMapperTest.php @@ -17,7 +17,33 @@ require_once __DIR__ . '/../../Autoloader.php'; use phpOMS\Localization\Defaults\Iban; use phpOMS\Localization\Defaults\IbanMapper; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Connection\SQLiteConnection; class IbanMapperTest extends \PHPUnit\Framework\TestCase { + static function setUpBeforeClass() + { + $con = new SqliteConnection([ + 'prefix' => '', + 'db' => 'sqlite', + 'path' => realpath(__DIR__ . '/../../../Localization/Defaults/localization.sqlite'), + ]); + + DataMapperAbstract::setConnection($con); + } + + public function testR() + { + $obj = IbanMapper::get(22); + self::assertEquals('DE', $obj->getCountry()); + self::assertEquals(22, $obj->getChars()); + self::assertEquals('18n', $obj->getBban()); + self::assertEquals('DEkk bbbb bbbb cccc cccc cc', $obj->getFields()); + } + + static function tearDownAfterClass() + { + DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); + } } diff --git a/tests/Localization/Defaults/IbanTest.php b/tests/Localization/Defaults/IbanTest.php index 4ee4d4968..e59c740b6 100644 --- a/tests/Localization/Defaults/IbanTest.php +++ b/tests/Localization/Defaults/IbanTest.php @@ -23,7 +23,7 @@ class IbanTest extends \PHPUnit\Framework\TestCase { $obj = new Iban(); self::assertEquals('', $obj->getCountry()); - self::assertEquals('', $obj->getChars()); + self::assertEquals(2, $obj->getChars()); self::assertEquals('', $obj->getBban()); self::assertEquals('', $obj->getFields()); } diff --git a/tests/Localization/Defaults/LanguageMapperTest.php b/tests/Localization/Defaults/LanguageMapperTest.php index c9a9c0f67..d2c57a5f1 100644 --- a/tests/Localization/Defaults/LanguageMapperTest.php +++ b/tests/Localization/Defaults/LanguageMapperTest.php @@ -17,7 +17,34 @@ require_once __DIR__ . '/../../Autoloader.php'; use phpOMS\Localization\Defaults\Language; use phpOMS\Localization\Defaults\LanguageMapper; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Connection\SQLiteConnection; class LanguageMapperTest extends \PHPUnit\Framework\TestCase { + static function setUpBeforeClass() + { + $con = new SqliteConnection([ + 'prefix' => '', + 'db' => 'sqlite', + 'path' => realpath(__DIR__ . '/../../../Localization/Defaults/localization.sqlite'), + ]); + + DataMapperAbstract::setConnection($con); + } + + public function testR() + { + $obj = LanguageMapper::get(53); + self::assertEquals('German', $obj->getName()); + self::assertEquals('Deutsch', $obj->getNative()); + self::assertEquals('de', $obj->getCode2()); + self::assertEquals('deu', $obj->getCode3Native()); + self::assertEquals('ger', $obj->getCode3()); + } + + static function tearDownAfterClass() + { + DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); + } } diff --git a/tests/Localization/Defaults/LanguageTest.php b/tests/Localization/Defaults/LanguageTest.php index d44c9327e..9917728c0 100644 --- a/tests/Localization/Defaults/LanguageTest.php +++ b/tests/Localization/Defaults/LanguageTest.php @@ -26,5 +26,6 @@ class LanguageTest extends \PHPUnit\Framework\TestCase self::assertEquals('', $obj->getNative()); self::assertEquals('', $obj->getCode2()); self::assertEquals('', $obj->getCode3()); + self::assertEquals('', $obj->getCode3Native()); } }