@@ -14,120 +14,120 @@ |
||
| 14 | 14 | */ |
| 15 | 15 | class EzuserAddAddress extends \Aimeos\MW\Setup\Task\TablesCreateMShop |
| 16 | 16 | { |
| 17 | - /** |
|
| 18 | - * Returns the list of task names which depends on this task. |
|
| 19 | - * |
|
| 20 | - * @return array List of task names |
|
| 21 | - */ |
|
| 22 | - public function getPreDependencies() |
|
| 23 | - { |
|
| 24 | - return array( 'TablesCreateEzpublish' ); |
|
| 25 | - } |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - /** |
|
| 29 | - * Migrate database schema |
|
| 30 | - */ |
|
| 31 | - public function migrate() |
|
| 32 | - { |
|
| 33 | - $this->msg( 'Adding address fields to ezuser table', 0 ); |
|
| 34 | - |
|
| 35 | - $dbal = $this->getConnection( 'db-customer' )->getRawObject(); |
|
| 36 | - |
|
| 37 | - if( !( $dbal instanceof \Doctrine\DBAL\Connection ) ) { |
|
| 38 | - throw new \Aimeos\MW\Setup\Exception( 'Not a DBAL connection' ); |
|
| 39 | - } |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - $fromSchema = $dbal->getSchemaManager()->createSchema(); |
|
| 43 | - $toSchema = clone $fromSchema; |
|
| 44 | - |
|
| 45 | - $this->addIndexes( $this->addColumns( $toSchema->getTable( 'ezuser' ) ) ); |
|
| 46 | - $sql = $fromSchema->getMigrateToSql( $toSchema, $dbal->getDatabasePlatform() ); |
|
| 47 | - |
|
| 48 | - if( $sql !== array() ) |
|
| 49 | - { |
|
| 50 | - $this->executeList( $sql, 'db-customer' ); |
|
| 51 | - $this->status( 'done' ); |
|
| 52 | - } |
|
| 53 | - else |
|
| 54 | - { |
|
| 55 | - $this->status( 'OK' ); |
|
| 56 | - } |
|
| 57 | - } |
|
| 58 | - |
|
| 59 | - |
|
| 60 | - /** |
|
| 61 | - * Adds the missing columns to the table |
|
| 62 | - * |
|
| 63 | - * @param \Doctrine\DBAL\Schema\Table $table Table object |
|
| 64 | - * @return \Doctrine\DBAL\Schema\Table Updated table object |
|
| 65 | - */ |
|
| 66 | - protected function addColumns( \Doctrine\DBAL\Schema\Table $table ) |
|
| 67 | - { |
|
| 68 | - $columns = array( |
|
| 69 | - 'company' => array( 'string', array( 'length' => 100 ) ), |
|
| 70 | - 'vatid' => array( 'string', array( 'length' => 32 ) ), |
|
| 71 | - 'salutation' => array( 'string', array( 'length' => 8 ) ), |
|
| 72 | - 'title' => array( 'string', array( 'length' => 64 ) ), |
|
| 73 | - 'firstname' => array( 'string', array( 'length' => 64 ) ), |
|
| 74 | - 'lastname' => array( 'string', array( 'length' => 64 ) ), |
|
| 75 | - 'address1' => array( 'string', array( 'length' => 255 ) ), |
|
| 76 | - 'address2' => array( 'string', array( 'length' => 255 ) ), |
|
| 77 | - 'address3' => array( 'string', array( 'length' => 255 ) ), |
|
| 78 | - 'postal' => array( 'string', array( 'length' => 16 ) ), |
|
| 79 | - 'city' => array( 'string', array( 'length' => 255 ) ), |
|
| 80 | - 'state' => array( 'string', array( 'length' => 255 ) ), |
|
| 81 | - 'langid' => array( 'string', array( 'length' => 5, 'notnull' => false ) ), |
|
| 82 | - 'countryid' => array( 'string', array( 'length' => 2, 'notnull' => false, 'fixed' => true ) ), |
|
| 83 | - 'telephone' => array( 'string', array( 'length' => 32 ) ), |
|
| 84 | - 'telefax' => array( 'string', array( 'length' => 32 ) ), |
|
| 85 | - 'website' => array( 'string', array( 'length' => 255 ) ), |
|
| 86 | - 'birthday' => array( 'date', array( 'notnull' => false ) ), |
|
| 87 | - 'vdate' => array( 'date', array( 'notnull' => false ) ), |
|
| 88 | - 'status' => array( 'smallint', array() ), |
|
| 89 | - 'mtime' => array( 'datetime', array() ), |
|
| 90 | - 'ctime' => array( 'datetime', array() ), |
|
| 91 | - 'editor' => array( 'string', array( 'length' => 255 ) ), |
|
| 92 | - ); |
|
| 93 | - |
|
| 94 | - foreach( $columns as $name => $def ) |
|
| 95 | - { |
|
| 96 | - if( $table->hasColumn( $name ) === false ) { |
|
| 97 | - $table->addColumn( $name, $def[0], $def[1] ); |
|
| 98 | - } |
|
| 99 | - } |
|
| 100 | - |
|
| 101 | - return $table; |
|
| 102 | - } |
|
| 103 | - |
|
| 104 | - |
|
| 105 | - /** |
|
| 106 | - * Adds the missing indexes to the table |
|
| 107 | - * |
|
| 108 | - * @param \Doctrine\DBAL\Schema\Table $table Table object |
|
| 109 | - * @return \Doctrine\DBAL\Schema\Table Updated table object |
|
| 110 | - */ |
|
| 111 | - protected function addIndexes( \Doctrine\DBAL\Schema\Table $table ) |
|
| 112 | - { |
|
| 113 | - $indexes = array( |
|
| 114 | - 'idx_ezpus_langid' => array( 'langid' ), |
|
| 115 | - 'idx_ezpus_status_ln_fn' => array( 'status', 'lastname', 'firstname' ), |
|
| 116 | - 'idx_ezpus_status_ad1_ad2' => array( 'status', 'address1', 'address2' ), |
|
| 117 | - 'idx_ezpus_status_postal_city' => array( 'status', 'postal', 'city' ), |
|
| 118 | - 'idx_ezpus_lastname' => array( 'lastname' ), |
|
| 119 | - 'idx_ezpus_address1' => array( 'address1' ), |
|
| 120 | - 'idx_ezpus_postal' => array( 'postal' ), |
|
| 121 | - 'idx_ezpus_city' => array( 'city' ), |
|
| 122 | - ); |
|
| 123 | - |
|
| 124 | - foreach( $indexes as $name => $def ) |
|
| 125 | - { |
|
| 126 | - if( $table->hasIndex( $name ) === false ) { |
|
| 127 | - $table->addIndex( $def, $name ); |
|
| 128 | - } |
|
| 129 | - } |
|
| 130 | - |
|
| 131 | - return $table; |
|
| 132 | - } |
|
| 17 | + /** |
|
| 18 | + * Returns the list of task names which depends on this task. |
|
| 19 | + * |
|
| 20 | + * @return array List of task names |
|
| 21 | + */ |
|
| 22 | + public function getPreDependencies() |
|
| 23 | + { |
|
| 24 | + return array( 'TablesCreateEzpublish' ); |
|
| 25 | + } |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + /** |
|
| 29 | + * Migrate database schema |
|
| 30 | + */ |
|
| 31 | + public function migrate() |
|
| 32 | + { |
|
| 33 | + $this->msg( 'Adding address fields to ezuser table', 0 ); |
|
| 34 | + |
|
| 35 | + $dbal = $this->getConnection( 'db-customer' )->getRawObject(); |
|
| 36 | + |
|
| 37 | + if( !( $dbal instanceof \Doctrine\DBAL\Connection ) ) { |
|
| 38 | + throw new \Aimeos\MW\Setup\Exception( 'Not a DBAL connection' ); |
|
| 39 | + } |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + $fromSchema = $dbal->getSchemaManager()->createSchema(); |
|
| 43 | + $toSchema = clone $fromSchema; |
|
| 44 | + |
|
| 45 | + $this->addIndexes( $this->addColumns( $toSchema->getTable( 'ezuser' ) ) ); |
|
| 46 | + $sql = $fromSchema->getMigrateToSql( $toSchema, $dbal->getDatabasePlatform() ); |
|
| 47 | + |
|
| 48 | + if( $sql !== array() ) |
|
| 49 | + { |
|
| 50 | + $this->executeList( $sql, 'db-customer' ); |
|
| 51 | + $this->status( 'done' ); |
|
| 52 | + } |
|
| 53 | + else |
|
| 54 | + { |
|
| 55 | + $this->status( 'OK' ); |
|
| 56 | + } |
|
| 57 | + } |
|
| 58 | + |
|
| 59 | + |
|
| 60 | + /** |
|
| 61 | + * Adds the missing columns to the table |
|
| 62 | + * |
|
| 63 | + * @param \Doctrine\DBAL\Schema\Table $table Table object |
|
| 64 | + * @return \Doctrine\DBAL\Schema\Table Updated table object |
|
| 65 | + */ |
|
| 66 | + protected function addColumns( \Doctrine\DBAL\Schema\Table $table ) |
|
| 67 | + { |
|
| 68 | + $columns = array( |
|
| 69 | + 'company' => array( 'string', array( 'length' => 100 ) ), |
|
| 70 | + 'vatid' => array( 'string', array( 'length' => 32 ) ), |
|
| 71 | + 'salutation' => array( 'string', array( 'length' => 8 ) ), |
|
| 72 | + 'title' => array( 'string', array( 'length' => 64 ) ), |
|
| 73 | + 'firstname' => array( 'string', array( 'length' => 64 ) ), |
|
| 74 | + 'lastname' => array( 'string', array( 'length' => 64 ) ), |
|
| 75 | + 'address1' => array( 'string', array( 'length' => 255 ) ), |
|
| 76 | + 'address2' => array( 'string', array( 'length' => 255 ) ), |
|
| 77 | + 'address3' => array( 'string', array( 'length' => 255 ) ), |
|
| 78 | + 'postal' => array( 'string', array( 'length' => 16 ) ), |
|
| 79 | + 'city' => array( 'string', array( 'length' => 255 ) ), |
|
| 80 | + 'state' => array( 'string', array( 'length' => 255 ) ), |
|
| 81 | + 'langid' => array( 'string', array( 'length' => 5, 'notnull' => false ) ), |
|
| 82 | + 'countryid' => array( 'string', array( 'length' => 2, 'notnull' => false, 'fixed' => true ) ), |
|
| 83 | + 'telephone' => array( 'string', array( 'length' => 32 ) ), |
|
| 84 | + 'telefax' => array( 'string', array( 'length' => 32 ) ), |
|
| 85 | + 'website' => array( 'string', array( 'length' => 255 ) ), |
|
| 86 | + 'birthday' => array( 'date', array( 'notnull' => false ) ), |
|
| 87 | + 'vdate' => array( 'date', array( 'notnull' => false ) ), |
|
| 88 | + 'status' => array( 'smallint', array() ), |
|
| 89 | + 'mtime' => array( 'datetime', array() ), |
|
| 90 | + 'ctime' => array( 'datetime', array() ), |
|
| 91 | + 'editor' => array( 'string', array( 'length' => 255 ) ), |
|
| 92 | + ); |
|
| 93 | + |
|
| 94 | + foreach( $columns as $name => $def ) |
|
| 95 | + { |
|
| 96 | + if( $table->hasColumn( $name ) === false ) { |
|
| 97 | + $table->addColumn( $name, $def[0], $def[1] ); |
|
| 98 | + } |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + return $table; |
|
| 102 | + } |
|
| 103 | + |
|
| 104 | + |
|
| 105 | + /** |
|
| 106 | + * Adds the missing indexes to the table |
|
| 107 | + * |
|
| 108 | + * @param \Doctrine\DBAL\Schema\Table $table Table object |
|
| 109 | + * @return \Doctrine\DBAL\Schema\Table Updated table object |
|
| 110 | + */ |
|
| 111 | + protected function addIndexes( \Doctrine\DBAL\Schema\Table $table ) |
|
| 112 | + { |
|
| 113 | + $indexes = array( |
|
| 114 | + 'idx_ezpus_langid' => array( 'langid' ), |
|
| 115 | + 'idx_ezpus_status_ln_fn' => array( 'status', 'lastname', 'firstname' ), |
|
| 116 | + 'idx_ezpus_status_ad1_ad2' => array( 'status', 'address1', 'address2' ), |
|
| 117 | + 'idx_ezpus_status_postal_city' => array( 'status', 'postal', 'city' ), |
|
| 118 | + 'idx_ezpus_lastname' => array( 'lastname' ), |
|
| 119 | + 'idx_ezpus_address1' => array( 'address1' ), |
|
| 120 | + 'idx_ezpus_postal' => array( 'postal' ), |
|
| 121 | + 'idx_ezpus_city' => array( 'city' ), |
|
| 122 | + ); |
|
| 123 | + |
|
| 124 | + foreach( $indexes as $name => $def ) |
|
| 125 | + { |
|
| 126 | + if( $table->hasIndex( $name ) === false ) { |
|
| 127 | + $table->addIndex( $def, $name ); |
|
| 128 | + } |
|
| 129 | + } |
|
| 130 | + |
|
| 131 | + return $table; |
|
| 132 | + } |
|
| 133 | 133 | } |
@@ -14,119 +14,119 @@ |
||
| 14 | 14 | */ |
| 15 | 15 | class CustomerAddEzpublishTestData extends \Aimeos\MW\Setup\Task\CustomerAddTestData |
| 16 | 16 | { |
| 17 | - /** |
|
| 18 | - * Returns the list of task names which this task depends on. |
|
| 19 | - * |
|
| 20 | - * @return string[] List of task names |
|
| 21 | - */ |
|
| 22 | - public function getPreDependencies() |
|
| 23 | - { |
|
| 24 | - return array( 'TablesCreateEzpublish', 'EzuserAddAddress', 'MShopSetLocale', 'MediaAddTestData' ); |
|
| 25 | - } |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - /** |
|
| 29 | - * Adds attribute test data. |
|
| 30 | - */ |
|
| 31 | - public function migrate() |
|
| 32 | - { |
|
| 33 | - $iface = '\\Aimeos\\MShop\\Context\\Item\\Iface'; |
|
| 34 | - if( !( $this->additional instanceof $iface ) ) { |
|
| 35 | - throw new \Aimeos\MW\Setup\Exception( sprintf( 'Additionally provided object is not of type "%1$s"', $iface ) ); |
|
| 36 | - } |
|
| 37 | - |
|
| 38 | - $context = $this->getEzContext( $this->additional ); |
|
| 39 | - |
|
| 40 | - $this->msg( 'Adding ezPublish customer test data', 0 ); |
|
| 41 | - |
|
| 42 | - $parentIds = array(); |
|
| 43 | - $ds = DIRECTORY_SEPARATOR; |
|
| 44 | - $context->setEditor( 'ai-ezpublish:unittest' ); |
|
| 45 | - $path = __DIR__ . $ds . 'data' . $ds . 'customer.php'; |
|
| 46 | - |
|
| 47 | - if( ( $testdata = include( $path ) ) === false ){ |
|
| 48 | - throw new \Aimeos\MShop\Exception( sprintf( 'No file "%1$s" found for customer domain', $path ) ); |
|
| 49 | - } |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - $customerManager = \Aimeos\MShop\Customer\Manager\Factory::createManager( $context, 'Ezpublish' ); |
|
| 53 | - $customerAddressManager = $customerManager->getSubManager( 'address', 'Ezpublish' ); |
|
| 54 | - |
|
| 55 | - $search = $customerManager->createSearch(); |
|
| 56 | - $search->setConditions( $search->compare( '==', 'customer.code', array( 'UTC001', 'UTC002', 'UTC003' ) ) ); |
|
| 57 | - $items = $customerManager->searchItems( $search ); |
|
| 58 | - |
|
| 59 | - $this->conn->begin(); |
|
| 60 | - |
|
| 61 | - $customerManager->deleteItems( array_keys( $items ) ); |
|
| 62 | - $parentIds = $this->addCustomerData( $testdata, $customerManager, $customerAddressManager->createItem() ); |
|
| 63 | - $this->addCustomerAddressData( $testdata, $customerAddressManager, $parentIds ); |
|
| 64 | - |
|
| 65 | - $this->conn->commit(); |
|
| 66 | - |
|
| 67 | - |
|
| 68 | - $this->status( 'done' ); |
|
| 69 | - } |
|
| 70 | - |
|
| 71 | - |
|
| 72 | - /** |
|
| 73 | - * Returns the Ezpublish context |
|
| 74 | - * |
|
| 75 | - * @param \Aimeos\MShop\Context\Item\Iface $context Context object |
|
| 76 | - * @return \Aimeos\MShop\Context\Item\Ezpublish Ezpublish context object |
|
| 77 | - */ |
|
| 78 | - protected function getEzContext( \Aimeos\MShop\Context\Item\Iface $context ) |
|
| 79 | - { |
|
| 80 | - $class = '\Aimeos\MShop\Context\Item\Ezpublish'; |
|
| 81 | - if( is_a( $context, $class ) ) { |
|
| 82 | - return $context; |
|
| 83 | - } |
|
| 84 | - |
|
| 85 | - $ezContext = new \Aimeos\MShop\Context\Item\Ezpublish(); |
|
| 86 | - $ezContext->setDatabaseManager( clone $context->getDatabaseManager() ); |
|
| 87 | - $ezContext->setSession( clone $context->getSession() ); |
|
| 88 | - $ezContext->setLogger( clone $context->getLogger() ); |
|
| 89 | - $ezContext->setLocale( clone $context->getLocale() ); |
|
| 90 | - $ezContext->setConfig( clone $context->getConfig() ); |
|
| 91 | - $ezContext->setCache( clone $context->getCache() ); |
|
| 92 | - |
|
| 93 | - |
|
| 94 | - $ezContext->setEzUser( function( $code, $email, $password ) use ( $context ) { |
|
| 95 | - |
|
| 96 | - $id = mt_rand( -0x7fffffff,-1 ); |
|
| 97 | - $dbm = $context->getDatabaseManager(); |
|
| 98 | - $dbconf = $context->getConfig()->get( 'resource/db-customer' ); |
|
| 99 | - $dbname = ( $dbconf ? 'db-customer' : 'db' ); |
|
| 100 | - $conn = $dbm->acquire( $dbname ); |
|
| 101 | - |
|
| 102 | - try |
|
| 103 | - { |
|
| 104 | - $stmt = $conn->create( 'INSERT INTO "ezuser" ( |
|
| 17 | + /** |
|
| 18 | + * Returns the list of task names which this task depends on. |
|
| 19 | + * |
|
| 20 | + * @return string[] List of task names |
|
| 21 | + */ |
|
| 22 | + public function getPreDependencies() |
|
| 23 | + { |
|
| 24 | + return array( 'TablesCreateEzpublish', 'EzuserAddAddress', 'MShopSetLocale', 'MediaAddTestData' ); |
|
| 25 | + } |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + /** |
|
| 29 | + * Adds attribute test data. |
|
| 30 | + */ |
|
| 31 | + public function migrate() |
|
| 32 | + { |
|
| 33 | + $iface = '\\Aimeos\\MShop\\Context\\Item\\Iface'; |
|
| 34 | + if( !( $this->additional instanceof $iface ) ) { |
|
| 35 | + throw new \Aimeos\MW\Setup\Exception( sprintf( 'Additionally provided object is not of type "%1$s"', $iface ) ); |
|
| 36 | + } |
|
| 37 | + |
|
| 38 | + $context = $this->getEzContext( $this->additional ); |
|
| 39 | + |
|
| 40 | + $this->msg( 'Adding ezPublish customer test data', 0 ); |
|
| 41 | + |
|
| 42 | + $parentIds = array(); |
|
| 43 | + $ds = DIRECTORY_SEPARATOR; |
|
| 44 | + $context->setEditor( 'ai-ezpublish:unittest' ); |
|
| 45 | + $path = __DIR__ . $ds . 'data' . $ds . 'customer.php'; |
|
| 46 | + |
|
| 47 | + if( ( $testdata = include( $path ) ) === false ){ |
|
| 48 | + throw new \Aimeos\MShop\Exception( sprintf( 'No file "%1$s" found for customer domain', $path ) ); |
|
| 49 | + } |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + $customerManager = \Aimeos\MShop\Customer\Manager\Factory::createManager( $context, 'Ezpublish' ); |
|
| 53 | + $customerAddressManager = $customerManager->getSubManager( 'address', 'Ezpublish' ); |
|
| 54 | + |
|
| 55 | + $search = $customerManager->createSearch(); |
|
| 56 | + $search->setConditions( $search->compare( '==', 'customer.code', array( 'UTC001', 'UTC002', 'UTC003' ) ) ); |
|
| 57 | + $items = $customerManager->searchItems( $search ); |
|
| 58 | + |
|
| 59 | + $this->conn->begin(); |
|
| 60 | + |
|
| 61 | + $customerManager->deleteItems( array_keys( $items ) ); |
|
| 62 | + $parentIds = $this->addCustomerData( $testdata, $customerManager, $customerAddressManager->createItem() ); |
|
| 63 | + $this->addCustomerAddressData( $testdata, $customerAddressManager, $parentIds ); |
|
| 64 | + |
|
| 65 | + $this->conn->commit(); |
|
| 66 | + |
|
| 67 | + |
|
| 68 | + $this->status( 'done' ); |
|
| 69 | + } |
|
| 70 | + |
|
| 71 | + |
|
| 72 | + /** |
|
| 73 | + * Returns the Ezpublish context |
|
| 74 | + * |
|
| 75 | + * @param \Aimeos\MShop\Context\Item\Iface $context Context object |
|
| 76 | + * @return \Aimeos\MShop\Context\Item\Ezpublish Ezpublish context object |
|
| 77 | + */ |
|
| 78 | + protected function getEzContext( \Aimeos\MShop\Context\Item\Iface $context ) |
|
| 79 | + { |
|
| 80 | + $class = '\Aimeos\MShop\Context\Item\Ezpublish'; |
|
| 81 | + if( is_a( $context, $class ) ) { |
|
| 82 | + return $context; |
|
| 83 | + } |
|
| 84 | + |
|
| 85 | + $ezContext = new \Aimeos\MShop\Context\Item\Ezpublish(); |
|
| 86 | + $ezContext->setDatabaseManager( clone $context->getDatabaseManager() ); |
|
| 87 | + $ezContext->setSession( clone $context->getSession() ); |
|
| 88 | + $ezContext->setLogger( clone $context->getLogger() ); |
|
| 89 | + $ezContext->setLocale( clone $context->getLocale() ); |
|
| 90 | + $ezContext->setConfig( clone $context->getConfig() ); |
|
| 91 | + $ezContext->setCache( clone $context->getCache() ); |
|
| 92 | + |
|
| 93 | + |
|
| 94 | + $ezContext->setEzUser( function( $code, $email, $password ) use ( $context ) { |
|
| 95 | + |
|
| 96 | + $id = mt_rand( -0x7fffffff,-1 ); |
|
| 97 | + $dbm = $context->getDatabaseManager(); |
|
| 98 | + $dbconf = $context->getConfig()->get( 'resource/db-customer' ); |
|
| 99 | + $dbname = ( $dbconf ? 'db-customer' : 'db' ); |
|
| 100 | + $conn = $dbm->acquire( $dbname ); |
|
| 101 | + |
|
| 102 | + try |
|
| 103 | + { |
|
| 104 | + $stmt = $conn->create( 'INSERT INTO "ezuser" ( |
|
| 105 | 105 | "contentobject_id", "email", "login", "login_normalized", "password_hash", "password_hash_type" |
| 106 | 106 | ) VALUES ( |
| 107 | 107 | ?, ?, ?, ?, ?, 5 |
| 108 | 108 | )' ); |
| 109 | 109 | |
| 110 | - $stmt->bind( 1, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT ); |
|
| 111 | - $stmt->bind( 2, $email ); |
|
| 112 | - $stmt->bind( 3, $code ); |
|
| 113 | - $stmt->bind( 4, $code ); |
|
| 114 | - $stmt->bind( 5, $password ); |
|
| 110 | + $stmt->bind( 1, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT ); |
|
| 111 | + $stmt->bind( 2, $email ); |
|
| 112 | + $stmt->bind( 3, $code ); |
|
| 113 | + $stmt->bind( 4, $code ); |
|
| 114 | + $stmt->bind( 5, $password ); |
|
| 115 | 115 | |
| 116 | - $stmt->execute()->finish(); |
|
| 116 | + $stmt->execute()->finish(); |
|
| 117 | 117 | |
| 118 | - $dbm->release( $conn, $dbname ); |
|
| 119 | - } |
|
| 120 | - catch( \Exception $e ) |
|
| 121 | - { |
|
| 122 | - $dbm->release( $conn, $dbname ); |
|
| 123 | - throw $e; |
|
| 124 | - } |
|
| 118 | + $dbm->release( $conn, $dbname ); |
|
| 119 | + } |
|
| 120 | + catch( \Exception $e ) |
|
| 121 | + { |
|
| 122 | + $dbm->release( $conn, $dbname ); |
|
| 123 | + throw $e; |
|
| 124 | + } |
|
| 125 | 125 | |
| 126 | - return $id; |
|
| 127 | - } ); |
|
| 126 | + return $id; |
|
| 127 | + } ); |
|
| 128 | 128 | |
| 129 | 129 | |
| 130 | - return $ezContext; |
|
| 131 | - } |
|
| 130 | + return $ezContext; |
|
| 131 | + } |
|
| 132 | 132 | } |
@@ -11,215 +11,215 @@ |
||
| 11 | 11 | |
| 12 | 12 | class EzpublishTest extends \PHPUnit_Framework_TestCase |
| 13 | 13 | { |
| 14 | - private $fixture = null; |
|
| 15 | - private $object = null; |
|
| 16 | - private $editor = ''; |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - protected function setUp() |
|
| 20 | - { |
|
| 21 | - $context = \TestHelper::getContext(); |
|
| 22 | - $this->editor = $context->getEditor(); |
|
| 23 | - $customer = new \Aimeos\MShop\Customer\Manager\Ezpublish( $context ); |
|
| 24 | - |
|
| 25 | - $search = $customer->createSearch(); |
|
| 26 | - $conditions = array( |
|
| 27 | - $search->compare( '==', 'customer.code', 'UTC001' ), |
|
| 28 | - $search->compare( '==', 'customer.editor', $this->editor ) |
|
| 29 | - ); |
|
| 30 | - $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 31 | - $result = $customer->searchItems( $search ); |
|
| 32 | - |
|
| 33 | - if( ( $customerItem = reset( $result ) ) === false ) { |
|
| 34 | - throw new \Exception( sprintf( 'No customer item found for code "%1$s"', 'UTC001' ) ); |
|
| 35 | - } |
|
| 36 | - |
|
| 37 | - $this->fixture = array( |
|
| 38 | - 'customer.address.parentid' => $customerItem->getId(), |
|
| 39 | - 'customer.address.company' => 'ABC GmbH', |
|
| 40 | - 'customer.address.vatid' => 'DE999999999', |
|
| 41 | - 'customer.address.salutation' => \Aimeos\MShop\Common\Item\Address\Base::SALUTATION_MR, |
|
| 42 | - 'customer.address.title' => 'Herr', |
|
| 43 | - 'customer.address.firstname' => 'firstunit', |
|
| 44 | - 'customer.address.lastname' => 'lastunit', |
|
| 45 | - 'customer.address.address1' => 'unit str.', |
|
| 46 | - 'customer.address.address2' => ' 166', |
|
| 47 | - 'customer.address.address3' => '4.OG', |
|
| 48 | - 'customer.address.postal' => '22769', |
|
| 49 | - 'customer.address.city' => 'Hamburg', |
|
| 50 | - 'customer.address.state' => 'Hamburg', |
|
| 51 | - 'customer.address.countryid' => 'de', |
|
| 52 | - 'customer.address.languageid' => 'de', |
|
| 53 | - 'customer.address.telephone' => '05554433221', |
|
| 54 | - 'customer.address.email' => '[email protected]', |
|
| 55 | - 'customer.address.telefax' => '05554433222', |
|
| 56 | - 'customer.address.website' => 'unittest.aimeos.org', |
|
| 57 | - 'customer.address.position' => 1, |
|
| 58 | - 'customer.address.siteid' => $context->getLocale()->getSiteId(), |
|
| 59 | - ); |
|
| 60 | - |
|
| 61 | - $this->object = $customer->getSubManager( 'address', 'Ezpublish' ); |
|
| 62 | - } |
|
| 63 | - |
|
| 64 | - |
|
| 65 | - protected function tearDown() |
|
| 66 | - { |
|
| 67 | - unset( $this->object, $this->fixture ); |
|
| 68 | - } |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - public function testCleanup() |
|
| 72 | - { |
|
| 73 | - $this->object->cleanup( array( -1 ) ); |
|
| 74 | - } |
|
| 75 | - |
|
| 76 | - public function testGetSearchAttributes() |
|
| 77 | - { |
|
| 78 | - foreach( $this->object->getSearchAttributes() as $attribute ) { |
|
| 79 | - $this->assertInstanceOf( '\\Aimeos\\MW\\Criteria\\Attribute\\Iface', $attribute ); |
|
| 80 | - } |
|
| 81 | - } |
|
| 82 | - |
|
| 83 | - public function testGetSubManager() |
|
| 84 | - { |
|
| 85 | - $this->setExpectedException( '\\Aimeos\\MShop\\Exception' ); |
|
| 86 | - $this->object->getSubManager( 'unknown' ); |
|
| 87 | - } |
|
| 88 | - |
|
| 89 | - public function testCreateItem() |
|
| 90 | - { |
|
| 91 | - $this->assertInstanceOf( '\\Aimeos\\MShop\\Common\\Item\\Address\\Iface', $this->object->createItem() ); |
|
| 92 | - } |
|
| 93 | - |
|
| 94 | - public function testGetItem() |
|
| 95 | - { |
|
| 96 | - $search = $this->object->createSearch(); |
|
| 97 | - $search->setConditions( $search->compare( '~=', 'customer.address.company', 'ABC GmbH' ) ); |
|
| 98 | - |
|
| 99 | - $items = $this->object->searchItems( $search ); |
|
| 100 | - |
|
| 101 | - if( ( $item = reset( $items ) ) === false ) { |
|
| 102 | - throw new \Exception( 'No address item with company "ABC" found' ); |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - $this->assertEquals( $item, $this->object->getItem( $item->getId() ) ); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - public function testSaveUpdateDeleteItem() |
|
| 109 | - { |
|
| 110 | - $item = new \Aimeos\MShop\Common\Item\Address\Standard( 'customer.address.', $this->fixture ); |
|
| 111 | - $item->setId( null ); |
|
| 112 | - $this->object->saveItem( $item ); |
|
| 113 | - $itemSaved = $this->object->getItem( $item->getId() ); |
|
| 114 | - |
|
| 115 | - $itemExp = clone $itemSaved; |
|
| 116 | - $itemExp->setPosition( 1 ); |
|
| 117 | - $itemExp->setCity( 'Berlin' ); |
|
| 118 | - $itemExp->setState( 'Berlin' ); |
|
| 119 | - $this->object->saveItem( $itemExp ); |
|
| 120 | - $itemUpd = $this->object->getItem( $itemExp->getId() ); |
|
| 121 | - |
|
| 122 | - $this->object->deleteItem( $itemSaved->getId() ); |
|
| 123 | - |
|
| 124 | - |
|
| 125 | - $this->assertTrue( $item->getId() !== null ); |
|
| 126 | - $this->assertEquals( $item->getId(), $itemSaved->getId() ); |
|
| 127 | - $this->assertEquals( $item->getParentId(), $itemSaved->getParentId()); |
|
| 128 | - $this->assertEquals( $item->getPosition(), $itemSaved->getPosition()); |
|
| 129 | - $this->assertEquals( $item->getCompany(), $itemSaved->getCompany()); |
|
| 130 | - $this->assertEquals( $item->getVatID(), $itemSaved->getVatID()); |
|
| 131 | - $this->assertEquals( $item->getSalutation(), $itemSaved->getSalutation()); |
|
| 132 | - $this->assertEquals( $item->getTitle(), $itemSaved->getTitle()); |
|
| 133 | - $this->assertEquals( $item->getFirstname(), $itemSaved->getFirstname()); |
|
| 134 | - $this->assertEquals( $item->getLastname(), $itemSaved->getLastname()); |
|
| 135 | - $this->assertEquals( $item->getAddress1(), $itemSaved->getAddress1()); |
|
| 136 | - $this->assertEquals( $item->getAddress2(), $itemSaved->getAddress2()); |
|
| 137 | - $this->assertEquals( $item->getAddress3(), $itemSaved->getAddress3()); |
|
| 138 | - $this->assertEquals( $item->getPostal(), $itemSaved->getPostal()); |
|
| 139 | - $this->assertEquals( $item->getCity(), $itemSaved->getCity()); |
|
| 140 | - $this->assertEquals( $item->getState(), $itemSaved->getState()); |
|
| 141 | - $this->assertEquals( $item->getCountryId(), $itemSaved->getCountryId()); |
|
| 142 | - $this->assertEquals( $item->getLanguageId(), $itemSaved->getLanguageId()); |
|
| 143 | - $this->assertEquals( $item->getTelephone(), $itemSaved->getTelephone()); |
|
| 144 | - $this->assertEquals( $item->getEmail(), $itemSaved->getEmail()); |
|
| 145 | - $this->assertEquals( $item->getTelefax(), $itemSaved->getTelefax()); |
|
| 146 | - $this->assertEquals( $item->getWebsite(), $itemSaved->getWebsite()); |
|
| 147 | - $this->assertEquals( $item->getFlag(), $itemSaved->getFlag()); |
|
| 148 | - |
|
| 149 | - $this->assertEquals( $this->editor, $itemSaved->getEditor() ); |
|
| 150 | - $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeCreated() ); |
|
| 151 | - $this->assertRegExp('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeModified()); |
|
| 152 | - |
|
| 153 | - $this->assertEquals( $itemExp->getId(), $itemUpd->getId() ); |
|
| 154 | - $this->assertEquals( $itemExp->getParentId(), $itemUpd->getParentId()); |
|
| 155 | - $this->assertEquals( $itemExp->getPosition(), $itemUpd->getPosition()); |
|
| 156 | - $this->assertEquals( $itemExp->getCompany(), $itemUpd->getCompany()); |
|
| 157 | - $this->assertEquals( $itemExp->getVatID(), $itemUpd->getVatID()); |
|
| 158 | - $this->assertEquals( $itemExp->getSalutation(), $itemUpd->getSalutation()); |
|
| 159 | - $this->assertEquals( $itemExp->getTitle(), $itemUpd->getTitle()); |
|
| 160 | - $this->assertEquals( $itemExp->getFirstname(), $itemUpd->getFirstname()); |
|
| 161 | - $this->assertEquals( $itemExp->getLastname(), $itemUpd->getLastname()); |
|
| 162 | - $this->assertEquals( $itemExp->getAddress1(), $itemUpd->getAddress1()); |
|
| 163 | - $this->assertEquals( $itemExp->getAddress2(), $itemUpd->getAddress2()); |
|
| 164 | - $this->assertEquals( $itemExp->getAddress3(), $itemUpd->getAddress3()); |
|
| 165 | - $this->assertEquals( $itemExp->getPostal(), $itemUpd->getPostal()); |
|
| 166 | - $this->assertEquals( $itemExp->getCity(), $itemUpd->getCity()); |
|
| 167 | - $this->assertEquals( $itemExp->getState(), $itemUpd->getState()); |
|
| 168 | - $this->assertEquals( $itemExp->getCountryId(), $itemUpd->getCountryId()); |
|
| 169 | - $this->assertEquals( $itemExp->getLanguageId(), $itemUpd->getLanguageId()); |
|
| 170 | - $this->assertEquals( $itemExp->getTelephone(), $itemUpd->getTelephone()); |
|
| 171 | - $this->assertEquals( $itemExp->getEmail(), $itemUpd->getEmail()); |
|
| 172 | - $this->assertEquals( $itemExp->getTelefax(), $itemUpd->getTelefax()); |
|
| 173 | - $this->assertEquals( $itemExp->getWebsite(), $itemUpd->getWebsite()); |
|
| 174 | - $this->assertEquals( $itemExp->getFlag(), $itemUpd->getFlag()); |
|
| 175 | - |
|
| 176 | - $this->assertEquals( $this->editor, $itemUpd->getEditor() ); |
|
| 177 | - $this->assertEquals( $itemExp->getTimeCreated(), $itemUpd->getTimeCreated() ); |
|
| 178 | - $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemUpd->getTimeModified() ); |
|
| 179 | - |
|
| 180 | - $this->setExpectedException('\\Aimeos\\MShop\\Exception'); |
|
| 181 | - $this->object->getItem( $itemSaved->getId() ); |
|
| 182 | - } |
|
| 183 | - |
|
| 184 | - public function testCreateSearch() |
|
| 185 | - { |
|
| 186 | - $this->assertInstanceOf( '\\Aimeos\\MW\\Criteria\\Iface', $this->object->createSearch() ); |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - |
|
| 190 | - public function testSearchItem() |
|
| 191 | - { |
|
| 192 | - $search = $this->object->createSearch(); |
|
| 193 | - |
|
| 194 | - $conditions = array( |
|
| 195 | - $search->compare( '==', 'customer.address.company', 'ABC' ), |
|
| 196 | - $search->compare( '==', 'customer.address.editor', $this->editor ) |
|
| 197 | - ); |
|
| 198 | - $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 199 | - $this->assertEquals( 1, count( $this->object->searchItems( $search ) ) ); |
|
| 200 | - } |
|
| 201 | - |
|
| 202 | - |
|
| 203 | - public function testSearchItemTotal() |
|
| 204 | - { |
|
| 205 | - $total = 0; |
|
| 206 | - $search = $this->object->createSearch(); |
|
| 207 | - |
|
| 208 | - $conditions = array( |
|
| 209 | - $search->compare( '~=', 'customer.address.company', 'ABC GmbH' ), |
|
| 210 | - $search->compare( '==', 'customer.address.editor', $this->editor ) |
|
| 211 | - ); |
|
| 212 | - |
|
| 213 | - $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 214 | - $search->setSlice( 0, 1 ); |
|
| 215 | - |
|
| 216 | - $results = $this->object->searchItems( $search, array(), $total ); |
|
| 217 | - |
|
| 218 | - $this->assertEquals( 1, count( $results ) ); |
|
| 219 | - $this->assertEquals( 2, $total ); |
|
| 220 | - |
|
| 221 | - foreach( $results as $id => $item ) { |
|
| 222 | - $this->assertEquals( $id, $item->getId() ); |
|
| 223 | - } |
|
| 224 | - } |
|
| 14 | + private $fixture = null; |
|
| 15 | + private $object = null; |
|
| 16 | + private $editor = ''; |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + protected function setUp() |
|
| 20 | + { |
|
| 21 | + $context = \TestHelper::getContext(); |
|
| 22 | + $this->editor = $context->getEditor(); |
|
| 23 | + $customer = new \Aimeos\MShop\Customer\Manager\Ezpublish( $context ); |
|
| 24 | + |
|
| 25 | + $search = $customer->createSearch(); |
|
| 26 | + $conditions = array( |
|
| 27 | + $search->compare( '==', 'customer.code', 'UTC001' ), |
|
| 28 | + $search->compare( '==', 'customer.editor', $this->editor ) |
|
| 29 | + ); |
|
| 30 | + $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 31 | + $result = $customer->searchItems( $search ); |
|
| 32 | + |
|
| 33 | + if( ( $customerItem = reset( $result ) ) === false ) { |
|
| 34 | + throw new \Exception( sprintf( 'No customer item found for code "%1$s"', 'UTC001' ) ); |
|
| 35 | + } |
|
| 36 | + |
|
| 37 | + $this->fixture = array( |
|
| 38 | + 'customer.address.parentid' => $customerItem->getId(), |
|
| 39 | + 'customer.address.company' => 'ABC GmbH', |
|
| 40 | + 'customer.address.vatid' => 'DE999999999', |
|
| 41 | + 'customer.address.salutation' => \Aimeos\MShop\Common\Item\Address\Base::SALUTATION_MR, |
|
| 42 | + 'customer.address.title' => 'Herr', |
|
| 43 | + 'customer.address.firstname' => 'firstunit', |
|
| 44 | + 'customer.address.lastname' => 'lastunit', |
|
| 45 | + 'customer.address.address1' => 'unit str.', |
|
| 46 | + 'customer.address.address2' => ' 166', |
|
| 47 | + 'customer.address.address3' => '4.OG', |
|
| 48 | + 'customer.address.postal' => '22769', |
|
| 49 | + 'customer.address.city' => 'Hamburg', |
|
| 50 | + 'customer.address.state' => 'Hamburg', |
|
| 51 | + 'customer.address.countryid' => 'de', |
|
| 52 | + 'customer.address.languageid' => 'de', |
|
| 53 | + 'customer.address.telephone' => '05554433221', |
|
| 54 | + 'customer.address.email' => '[email protected]', |
|
| 55 | + 'customer.address.telefax' => '05554433222', |
|
| 56 | + 'customer.address.website' => 'unittest.aimeos.org', |
|
| 57 | + 'customer.address.position' => 1, |
|
| 58 | + 'customer.address.siteid' => $context->getLocale()->getSiteId(), |
|
| 59 | + ); |
|
| 60 | + |
|
| 61 | + $this->object = $customer->getSubManager( 'address', 'Ezpublish' ); |
|
| 62 | + } |
|
| 63 | + |
|
| 64 | + |
|
| 65 | + protected function tearDown() |
|
| 66 | + { |
|
| 67 | + unset( $this->object, $this->fixture ); |
|
| 68 | + } |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + public function testCleanup() |
|
| 72 | + { |
|
| 73 | + $this->object->cleanup( array( -1 ) ); |
|
| 74 | + } |
|
| 75 | + |
|
| 76 | + public function testGetSearchAttributes() |
|
| 77 | + { |
|
| 78 | + foreach( $this->object->getSearchAttributes() as $attribute ) { |
|
| 79 | + $this->assertInstanceOf( '\\Aimeos\\MW\\Criteria\\Attribute\\Iface', $attribute ); |
|
| 80 | + } |
|
| 81 | + } |
|
| 82 | + |
|
| 83 | + public function testGetSubManager() |
|
| 84 | + { |
|
| 85 | + $this->setExpectedException( '\\Aimeos\\MShop\\Exception' ); |
|
| 86 | + $this->object->getSubManager( 'unknown' ); |
|
| 87 | + } |
|
| 88 | + |
|
| 89 | + public function testCreateItem() |
|
| 90 | + { |
|
| 91 | + $this->assertInstanceOf( '\\Aimeos\\MShop\\Common\\Item\\Address\\Iface', $this->object->createItem() ); |
|
| 92 | + } |
|
| 93 | + |
|
| 94 | + public function testGetItem() |
|
| 95 | + { |
|
| 96 | + $search = $this->object->createSearch(); |
|
| 97 | + $search->setConditions( $search->compare( '~=', 'customer.address.company', 'ABC GmbH' ) ); |
|
| 98 | + |
|
| 99 | + $items = $this->object->searchItems( $search ); |
|
| 100 | + |
|
| 101 | + if( ( $item = reset( $items ) ) === false ) { |
|
| 102 | + throw new \Exception( 'No address item with company "ABC" found' ); |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + $this->assertEquals( $item, $this->object->getItem( $item->getId() ) ); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + public function testSaveUpdateDeleteItem() |
|
| 109 | + { |
|
| 110 | + $item = new \Aimeos\MShop\Common\Item\Address\Standard( 'customer.address.', $this->fixture ); |
|
| 111 | + $item->setId( null ); |
|
| 112 | + $this->object->saveItem( $item ); |
|
| 113 | + $itemSaved = $this->object->getItem( $item->getId() ); |
|
| 114 | + |
|
| 115 | + $itemExp = clone $itemSaved; |
|
| 116 | + $itemExp->setPosition( 1 ); |
|
| 117 | + $itemExp->setCity( 'Berlin' ); |
|
| 118 | + $itemExp->setState( 'Berlin' ); |
|
| 119 | + $this->object->saveItem( $itemExp ); |
|
| 120 | + $itemUpd = $this->object->getItem( $itemExp->getId() ); |
|
| 121 | + |
|
| 122 | + $this->object->deleteItem( $itemSaved->getId() ); |
|
| 123 | + |
|
| 124 | + |
|
| 125 | + $this->assertTrue( $item->getId() !== null ); |
|
| 126 | + $this->assertEquals( $item->getId(), $itemSaved->getId() ); |
|
| 127 | + $this->assertEquals( $item->getParentId(), $itemSaved->getParentId()); |
|
| 128 | + $this->assertEquals( $item->getPosition(), $itemSaved->getPosition()); |
|
| 129 | + $this->assertEquals( $item->getCompany(), $itemSaved->getCompany()); |
|
| 130 | + $this->assertEquals( $item->getVatID(), $itemSaved->getVatID()); |
|
| 131 | + $this->assertEquals( $item->getSalutation(), $itemSaved->getSalutation()); |
|
| 132 | + $this->assertEquals( $item->getTitle(), $itemSaved->getTitle()); |
|
| 133 | + $this->assertEquals( $item->getFirstname(), $itemSaved->getFirstname()); |
|
| 134 | + $this->assertEquals( $item->getLastname(), $itemSaved->getLastname()); |
|
| 135 | + $this->assertEquals( $item->getAddress1(), $itemSaved->getAddress1()); |
|
| 136 | + $this->assertEquals( $item->getAddress2(), $itemSaved->getAddress2()); |
|
| 137 | + $this->assertEquals( $item->getAddress3(), $itemSaved->getAddress3()); |
|
| 138 | + $this->assertEquals( $item->getPostal(), $itemSaved->getPostal()); |
|
| 139 | + $this->assertEquals( $item->getCity(), $itemSaved->getCity()); |
|
| 140 | + $this->assertEquals( $item->getState(), $itemSaved->getState()); |
|
| 141 | + $this->assertEquals( $item->getCountryId(), $itemSaved->getCountryId()); |
|
| 142 | + $this->assertEquals( $item->getLanguageId(), $itemSaved->getLanguageId()); |
|
| 143 | + $this->assertEquals( $item->getTelephone(), $itemSaved->getTelephone()); |
|
| 144 | + $this->assertEquals( $item->getEmail(), $itemSaved->getEmail()); |
|
| 145 | + $this->assertEquals( $item->getTelefax(), $itemSaved->getTelefax()); |
|
| 146 | + $this->assertEquals( $item->getWebsite(), $itemSaved->getWebsite()); |
|
| 147 | + $this->assertEquals( $item->getFlag(), $itemSaved->getFlag()); |
|
| 148 | + |
|
| 149 | + $this->assertEquals( $this->editor, $itemSaved->getEditor() ); |
|
| 150 | + $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeCreated() ); |
|
| 151 | + $this->assertRegExp('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeModified()); |
|
| 152 | + |
|
| 153 | + $this->assertEquals( $itemExp->getId(), $itemUpd->getId() ); |
|
| 154 | + $this->assertEquals( $itemExp->getParentId(), $itemUpd->getParentId()); |
|
| 155 | + $this->assertEquals( $itemExp->getPosition(), $itemUpd->getPosition()); |
|
| 156 | + $this->assertEquals( $itemExp->getCompany(), $itemUpd->getCompany()); |
|
| 157 | + $this->assertEquals( $itemExp->getVatID(), $itemUpd->getVatID()); |
|
| 158 | + $this->assertEquals( $itemExp->getSalutation(), $itemUpd->getSalutation()); |
|
| 159 | + $this->assertEquals( $itemExp->getTitle(), $itemUpd->getTitle()); |
|
| 160 | + $this->assertEquals( $itemExp->getFirstname(), $itemUpd->getFirstname()); |
|
| 161 | + $this->assertEquals( $itemExp->getLastname(), $itemUpd->getLastname()); |
|
| 162 | + $this->assertEquals( $itemExp->getAddress1(), $itemUpd->getAddress1()); |
|
| 163 | + $this->assertEquals( $itemExp->getAddress2(), $itemUpd->getAddress2()); |
|
| 164 | + $this->assertEquals( $itemExp->getAddress3(), $itemUpd->getAddress3()); |
|
| 165 | + $this->assertEquals( $itemExp->getPostal(), $itemUpd->getPostal()); |
|
| 166 | + $this->assertEquals( $itemExp->getCity(), $itemUpd->getCity()); |
|
| 167 | + $this->assertEquals( $itemExp->getState(), $itemUpd->getState()); |
|
| 168 | + $this->assertEquals( $itemExp->getCountryId(), $itemUpd->getCountryId()); |
|
| 169 | + $this->assertEquals( $itemExp->getLanguageId(), $itemUpd->getLanguageId()); |
|
| 170 | + $this->assertEquals( $itemExp->getTelephone(), $itemUpd->getTelephone()); |
|
| 171 | + $this->assertEquals( $itemExp->getEmail(), $itemUpd->getEmail()); |
|
| 172 | + $this->assertEquals( $itemExp->getTelefax(), $itemUpd->getTelefax()); |
|
| 173 | + $this->assertEquals( $itemExp->getWebsite(), $itemUpd->getWebsite()); |
|
| 174 | + $this->assertEquals( $itemExp->getFlag(), $itemUpd->getFlag()); |
|
| 175 | + |
|
| 176 | + $this->assertEquals( $this->editor, $itemUpd->getEditor() ); |
|
| 177 | + $this->assertEquals( $itemExp->getTimeCreated(), $itemUpd->getTimeCreated() ); |
|
| 178 | + $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemUpd->getTimeModified() ); |
|
| 179 | + |
|
| 180 | + $this->setExpectedException('\\Aimeos\\MShop\\Exception'); |
|
| 181 | + $this->object->getItem( $itemSaved->getId() ); |
|
| 182 | + } |
|
| 183 | + |
|
| 184 | + public function testCreateSearch() |
|
| 185 | + { |
|
| 186 | + $this->assertInstanceOf( '\\Aimeos\\MW\\Criteria\\Iface', $this->object->createSearch() ); |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + |
|
| 190 | + public function testSearchItem() |
|
| 191 | + { |
|
| 192 | + $search = $this->object->createSearch(); |
|
| 193 | + |
|
| 194 | + $conditions = array( |
|
| 195 | + $search->compare( '==', 'customer.address.company', 'ABC' ), |
|
| 196 | + $search->compare( '==', 'customer.address.editor', $this->editor ) |
|
| 197 | + ); |
|
| 198 | + $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 199 | + $this->assertEquals( 1, count( $this->object->searchItems( $search ) ) ); |
|
| 200 | + } |
|
| 201 | + |
|
| 202 | + |
|
| 203 | + public function testSearchItemTotal() |
|
| 204 | + { |
|
| 205 | + $total = 0; |
|
| 206 | + $search = $this->object->createSearch(); |
|
| 207 | + |
|
| 208 | + $conditions = array( |
|
| 209 | + $search->compare( '~=', 'customer.address.company', 'ABC GmbH' ), |
|
| 210 | + $search->compare( '==', 'customer.address.editor', $this->editor ) |
|
| 211 | + ); |
|
| 212 | + |
|
| 213 | + $search->setConditions( $search->combine( '&&', $conditions ) ); |
|
| 214 | + $search->setSlice( 0, 1 ); |
|
| 215 | + |
|
| 216 | + $results = $this->object->searchItems( $search, array(), $total ); |
|
| 217 | + |
|
| 218 | + $this->assertEquals( 1, count( $results ) ); |
|
| 219 | + $this->assertEquals( 2, $total ); |
|
| 220 | + |
|
| 221 | + foreach( $results as $id => $item ) { |
|
| 222 | + $this->assertEquals( $id, $item->getId() ); |
|
| 223 | + } |
|
| 224 | + } |
|
| 225 | 225 | } |
@@ -11,137 +11,137 @@ |
||
| 11 | 11 | |
| 12 | 12 | class EzpublishTest extends \PHPUnit_Framework_TestCase |
| 13 | 13 | { |
| 14 | - private $object; |
|
| 15 | - private $editor = ''; |
|
| 14 | + private $object; |
|
| 15 | + private $editor = ''; |
|
| 16 | 16 | |
| 17 | 17 | |
| 18 | - protected function setUp() |
|
| 19 | - { |
|
| 20 | - $this->editor = \TestHelper::getContext()->getEditor(); |
|
| 21 | - $manager = \Aimeos\MShop\Customer\Manager\Factory::createManager( \TestHelper::getContext(), 'Ezpublish' ); |
|
| 18 | + protected function setUp() |
|
| 19 | + { |
|
| 20 | + $this->editor = \TestHelper::getContext()->getEditor(); |
|
| 21 | + $manager = \Aimeos\MShop\Customer\Manager\Factory::createManager( \TestHelper::getContext(), 'Ezpublish' ); |
|
| 22 | 22 | |
| 23 | - $listManager = $manager->getSubManager( 'lists', 'Ezpublish' ); |
|
| 24 | - $this->object = $listManager->getSubManager( 'type', 'Ezpublish' ); |
|
| 25 | - } |
|
| 23 | + $listManager = $manager->getSubManager( 'lists', 'Ezpublish' ); |
|
| 24 | + $this->object = $listManager->getSubManager( 'type', 'Ezpublish' ); |
|
| 25 | + } |
|
| 26 | 26 | |
| 27 | 27 | |
| 28 | - protected function tearDown() |
|
| 29 | - { |
|
| 30 | - unset( $this->object ); |
|
| 31 | - } |
|
| 28 | + protected function tearDown() |
|
| 29 | + { |
|
| 30 | + unset( $this->object ); |
|
| 31 | + } |
|
| 32 | 32 | |
| 33 | 33 | |
| 34 | - public function testCleanup() |
|
| 35 | - { |
|
| 36 | - $this->object->cleanup( array( -1 ) ); |
|
| 37 | - } |
|
| 34 | + public function testCleanup() |
|
| 35 | + { |
|
| 36 | + $this->object->cleanup( array( -1 ) ); |
|
| 37 | + } |
|
| 38 | 38 | |
| 39 | 39 | |
| 40 | - public function testGetSubManager() |
|
| 41 | - { |
|
| 42 | - $this->setExpectedException( '\\Aimeos\\MShop\\Exception' ); |
|
| 43 | - $this->object->getSubManager( 'unknown' ); |
|
| 44 | - } |
|
| 40 | + public function testGetSubManager() |
|
| 41 | + { |
|
| 42 | + $this->setExpectedException( '\\Aimeos\\MShop\\Exception' ); |
|
| 43 | + $this->object->getSubManager( 'unknown' ); |
|
| 44 | + } |
|
| 45 | 45 | |
| 46 | 46 | |
| 47 | - public function testCreateItem() |
|
| 48 | - { |
|
| 49 | - $item = $this->object->createItem(); |
|
| 50 | - $this->assertInstanceOf( '\\Aimeos\\MShop\\Common\\Item\\Type\\Iface', $item ); |
|
| 51 | - } |
|
| 47 | + public function testCreateItem() |
|
| 48 | + { |
|
| 49 | + $item = $this->object->createItem(); |
|
| 50 | + $this->assertInstanceOf( '\\Aimeos\\MShop\\Common\\Item\\Type\\Iface', $item ); |
|
| 51 | + } |
|
| 52 | 52 | |
| 53 | 53 | |
| 54 | - public function testGetItem() |
|
| 55 | - { |
|
| 56 | - $search = $this->object->createSearch(); |
|
| 57 | - $search->setSlice(0, 1); |
|
| 58 | - $results = $this->object->searchItems($search); |
|
| 54 | + public function testGetItem() |
|
| 55 | + { |
|
| 56 | + $search = $this->object->createSearch(); |
|
| 57 | + $search->setSlice(0, 1); |
|
| 58 | + $results = $this->object->searchItems($search); |
|
| 59 | 59 | |
| 60 | - if( ( $expected = reset($results) ) === false ) { |
|
| 61 | - throw new \Exception( 'No list type item found' ); |
|
| 62 | - } |
|
| 60 | + if( ( $expected = reset($results) ) === false ) { |
|
| 61 | + throw new \Exception( 'No list type item found' ); |
|
| 62 | + } |
|
| 63 | 63 | |
| 64 | - $this->assertEquals( $expected, $this->object->getItem( $expected->getId() ) ); |
|
| 65 | - } |
|
| 64 | + $this->assertEquals( $expected, $this->object->getItem( $expected->getId() ) ); |
|
| 65 | + } |
|
| 66 | 66 | |
| 67 | 67 | |
| 68 | - public function testSaveUpdateDeleteItem() |
|
| 69 | - { |
|
| 70 | - $search = $this->object->createSearch(); |
|
| 71 | - $search->setSlice(0, 1); |
|
| 72 | - $results = $this->object->searchItems($search); |
|
| 68 | + public function testSaveUpdateDeleteItem() |
|
| 69 | + { |
|
| 70 | + $search = $this->object->createSearch(); |
|
| 71 | + $search->setSlice(0, 1); |
|
| 72 | + $results = $this->object->searchItems($search); |
|
| 73 | 73 | |
| 74 | - if( ( $item = reset($results) ) === false ) { |
|
| 75 | - throw new \Exception( 'No type item found' ); |
|
| 76 | - } |
|
| 74 | + if( ( $item = reset($results) ) === false ) { |
|
| 75 | + throw new \Exception( 'No type item found' ); |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - $item->setId(null); |
|
| 79 | - $item->setCode( 'unitTestInit' ); |
|
| 80 | - $this->object->saveItem( $item ); |
|
| 81 | - $itemSaved = $this->object->getItem( $item->getId() ); |
|
| 78 | + $item->setId(null); |
|
| 79 | + $item->setCode( 'unitTestInit' ); |
|
| 80 | + $this->object->saveItem( $item ); |
|
| 81 | + $itemSaved = $this->object->getItem( $item->getId() ); |
|
| 82 | 82 | |
| 83 | - $itemExp = clone $itemSaved; |
|
| 84 | - $itemExp->setCode( 'unitTestSave' ); |
|
| 85 | - $this->object->saveItem( $itemExp ); |
|
| 86 | - $itemUpd = $this->object->getItem( $itemExp->getId() ); |
|
| 83 | + $itemExp = clone $itemSaved; |
|
| 84 | + $itemExp->setCode( 'unitTestSave' ); |
|
| 85 | + $this->object->saveItem( $itemExp ); |
|
| 86 | + $itemUpd = $this->object->getItem( $itemExp->getId() ); |
|
| 87 | 87 | |
| 88 | - $this->object->deleteItem( $itemSaved->getId() ); |
|
| 88 | + $this->object->deleteItem( $itemSaved->getId() ); |
|
| 89 | 89 | |
| 90 | 90 | |
| 91 | - $this->assertTrue( $item->getId() !== null ); |
|
| 92 | - $this->assertEquals( $item->getId(), $itemSaved->getId() ); |
|
| 93 | - $this->assertEquals( $item->getSiteId(), $itemSaved->getSiteId() ); |
|
| 94 | - $this->assertEquals( $item->getCode(), $itemSaved->getCode() ); |
|
| 95 | - $this->assertEquals( $item->getDomain(), $itemSaved->getDomain() ); |
|
| 96 | - $this->assertEquals( $item->getLabel(), $itemSaved->getLabel() ); |
|
| 97 | - $this->assertEquals( $item->getStatus(), $itemSaved->getStatus() ); |
|
| 91 | + $this->assertTrue( $item->getId() !== null ); |
|
| 92 | + $this->assertEquals( $item->getId(), $itemSaved->getId() ); |
|
| 93 | + $this->assertEquals( $item->getSiteId(), $itemSaved->getSiteId() ); |
|
| 94 | + $this->assertEquals( $item->getCode(), $itemSaved->getCode() ); |
|
| 95 | + $this->assertEquals( $item->getDomain(), $itemSaved->getDomain() ); |
|
| 96 | + $this->assertEquals( $item->getLabel(), $itemSaved->getLabel() ); |
|
| 97 | + $this->assertEquals( $item->getStatus(), $itemSaved->getStatus() ); |
|
| 98 | 98 | |
| 99 | - $this->assertEquals( $this->editor, $itemSaved->getEditor() ); |
|
| 100 | - $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeCreated() ); |
|
| 101 | - $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeModified() ); |
|
| 99 | + $this->assertEquals( $this->editor, $itemSaved->getEditor() ); |
|
| 100 | + $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeCreated() ); |
|
| 101 | + $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemSaved->getTimeModified() ); |
|
| 102 | 102 | |
| 103 | - $this->assertEquals( $itemExp->getId(), $itemUpd->getId() ); |
|
| 104 | - $this->assertEquals( $itemExp->getSiteId(), $itemUpd->getSiteId() ); |
|
| 105 | - $this->assertEquals( $itemExp->getCode(), $itemUpd->getCode() ); |
|
| 106 | - $this->assertEquals( $itemExp->getDomain(), $itemUpd->getDomain() ); |
|
| 107 | - $this->assertEquals( $itemExp->getLabel(), $itemUpd->getLabel() ); |
|
| 108 | - $this->assertEquals( $itemExp->getStatus(), $itemUpd->getStatus() ); |
|
| 103 | + $this->assertEquals( $itemExp->getId(), $itemUpd->getId() ); |
|
| 104 | + $this->assertEquals( $itemExp->getSiteId(), $itemUpd->getSiteId() ); |
|
| 105 | + $this->assertEquals( $itemExp->getCode(), $itemUpd->getCode() ); |
|
| 106 | + $this->assertEquals( $itemExp->getDomain(), $itemUpd->getDomain() ); |
|
| 107 | + $this->assertEquals( $itemExp->getLabel(), $itemUpd->getLabel() ); |
|
| 108 | + $this->assertEquals( $itemExp->getStatus(), $itemUpd->getStatus() ); |
|
| 109 | 109 | |
| 110 | - $this->assertEquals( $this->editor, $itemUpd->getEditor() ); |
|
| 111 | - $this->assertEquals( $itemExp->getTimeCreated(), $itemUpd->getTimeCreated() ); |
|
| 112 | - $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemUpd->getTimeModified() ); |
|
| 110 | + $this->assertEquals( $this->editor, $itemUpd->getEditor() ); |
|
| 111 | + $this->assertEquals( $itemExp->getTimeCreated(), $itemUpd->getTimeCreated() ); |
|
| 112 | + $this->assertRegExp( '/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $itemUpd->getTimeModified() ); |
|
| 113 | 113 | |
| 114 | - $this->setExpectedException('\\Aimeos\\MShop\\Exception'); |
|
| 115 | - $this->object->getItem( $itemSaved->getId() ); |
|
| 116 | - } |
|
| 114 | + $this->setExpectedException('\\Aimeos\\MShop\\Exception'); |
|
| 115 | + $this->object->getItem( $itemSaved->getId() ); |
|
| 116 | + } |
|
| 117 | 117 | |
| 118 | 118 | |
| 119 | - public function testSearchItems() |
|
| 120 | - { |
|
| 121 | - $total = 0; |
|
| 122 | - $search = $this->object->createSearch(); |
|
| 123 | - |
|
| 124 | - $expr = array(); |
|
| 125 | - $expr[] = $search->compare( '!=', 'customer.lists.type.id', 0 ); |
|
| 126 | - $expr[] = $search->compare( '!=', 'customer.lists.type.siteid', null ); |
|
| 127 | - $expr[] = $search->compare( '==', 'customer.lists.type.code', 'default' ); |
|
| 128 | - $expr[] = $search->compare( '==', 'customer.lists.type.domain', 'text' ); |
|
| 129 | - $expr[] = $search->compare( '==', 'customer.lists.type.label', 'Standard' ); |
|
| 130 | - $expr[] = $search->compare( '==', 'customer.lists.type.status', 1 ); |
|
| 131 | - $expr[] = $search->compare( '>=', 'customer.lists.type.mtime', '1970-01-01 00:00:00' ); |
|
| 132 | - $expr[] = $search->compare( '>=', 'customer.lists.type.ctime', '1970-01-01 00:00:00' ); |
|
| 133 | - $expr[] = $search->compare( '==', 'customer.lists.type.editor', $this->editor ); |
|
| 134 | - |
|
| 135 | - $search->setConditions( $search->combine( '&&', $expr ) ); |
|
| 136 | - $search->setSlice(0, 1); |
|
| 137 | - |
|
| 138 | - $results = $this->object->searchItems( $search, array(), $total ); |
|
| 139 | - $this->assertEquals( 1, count( $results ) ); |
|
| 140 | - $this->assertEquals( 1, $total ); |
|
| 141 | - |
|
| 142 | - foreach($results as $itemId => $item) { |
|
| 143 | - $this->assertEquals( $itemId, $item->getId() ); |
|
| 144 | - } |
|
| 145 | - } |
|
| 119 | + public function testSearchItems() |
|
| 120 | + { |
|
| 121 | + $total = 0; |
|
| 122 | + $search = $this->object->createSearch(); |
|
| 123 | + |
|
| 124 | + $expr = array(); |
|
| 125 | + $expr[] = $search->compare( '!=', 'customer.lists.type.id', 0 ); |
|
| 126 | + $expr[] = $search->compare( '!=', 'customer.lists.type.siteid', null ); |
|
| 127 | + $expr[] = $search->compare( '==', 'customer.lists.type.code', 'default' ); |
|
| 128 | + $expr[] = $search->compare( '==', 'customer.lists.type.domain', 'text' ); |
|
| 129 | + $expr[] = $search->compare( '==', 'customer.lists.type.label', 'Standard' ); |
|
| 130 | + $expr[] = $search->compare( '==', 'customer.lists.type.status', 1 ); |
|
| 131 | + $expr[] = $search->compare( '>=', 'customer.lists.type.mtime', '1970-01-01 00:00:00' ); |
|
| 132 | + $expr[] = $search->compare( '>=', 'customer.lists.type.ctime', '1970-01-01 00:00:00' ); |
|
| 133 | + $expr[] = $search->compare( '==', 'customer.lists.type.editor', $this->editor ); |
|
| 134 | + |
|
| 135 | + $search->setConditions( $search->combine( '&&', $expr ) ); |
|
| 136 | + $search->setSlice(0, 1); |
|
| 137 | + |
|
| 138 | + $results = $this->object->searchItems( $search, array(), $total ); |
|
| 139 | + $this->assertEquals( 1, count( $results ) ); |
|
| 140 | + $this->assertEquals( 1, $total ); |
|
| 141 | + |
|
| 142 | + foreach($results as $itemId => $item) { |
|
| 143 | + $this->assertEquals( $itemId, $item->getId() ); |
|
| 144 | + } |
|
| 145 | + } |
|
| 146 | 146 | |
| 147 | 147 | } |