Ejemplo n.º 1
0
 /**
  * @covers sAdmin::sGetPaymentTranslation
  */
 public function testsGetPaymentTranslation()
 {
     // Backup existing data and inject demo data
     $existingData = Shopware()->Db()->fetchRow("\n            SELECT * FROM s_core_translations\n            WHERE objecttype = 'config_payment' AND objectlanguage = 2\n        ");
     $demoData = array('objectkey' => 1, 'objectlanguage' => 2, 'objecttype' => 'config_payment', 'objectdata' => serialize(array(4 => array('description' => 'Invoice', 'additionalDescription' => 'Payment by invoice. Shopware provides automatic invoicing for all customers on orders after the first, in order to avoid defaults on payment.'), 2 => array('description' => 'Debit', 'additionalDescription' => 'Additional text'), 3 => array('description' => 'Cash on delivery', 'additionalDescription' => '(including 2.00 Euro VAT)'), 5 => array('description' => 'Paid in advance', 'additionalDescription' => 'The goods are delivered directly upon receipt of payment.'), 6 => array('additionalDescription' => 'SEPA direct debit'))));
     if ($existingData) {
         Shopware()->Db()->update('s_core_translations', $demoData, 'id = ' . $existingData['id']);
     } else {
         Shopware()->Db()->insert('s_core_translations', $demoData);
     }
     // Test loading all data, should return the test data
     $shopId = Shopware()->Container()->get('shopware_storefront.context_service')->getShopContext()->getShop()->getId();
     Shopware()->Container()->get('shopware_storefront.context_service')->getShopContext()->getShop()->setId(2);
     $result = $this->module->sGetPaymentTranslation();
     $this->assertCount(5, $result);
     $this->assertArrayHasKey(2, $result);
     $this->assertArrayHasKey(3, $result);
     $this->assertArrayHasKey(4, $result);
     $this->assertArrayHasKey(5, $result);
     $this->assertArrayHasKey(6, $result);
     $this->assertArrayHasKey('description', $result[2]);
     $this->assertArrayHasKey('additionalDescription', $result[2]);
     $this->assertArrayHasKey('description', $result[3]);
     $this->assertArrayHasKey('additionalDescription', $result[3]);
     $this->assertArrayHasKey('description', $result[5]);
     $this->assertArrayHasKey('additionalDescription', $result[5]);
     $this->assertEquals('Debit', $result[2]['description']);
     $this->assertEquals('Additional text', $result[2]['additionalDescription']);
     $this->assertEquals('Cash on delivery', $result[3]['description']);
     $this->assertEquals('(including 2.00 Euro VAT)', $result[3]['additionalDescription']);
     $this->assertEquals('Paid in advance', $result[5]['description']);
     $this->assertEquals('The goods are delivered directly upon receipt of payment.', $result[5]['additionalDescription']);
     // Test with just one payment mean
     $result = $this->module->sGetPaymentTranslation(array('id' => 2, 'randomField' => 'randomValue'));
     $this->assertCount(4, $result);
     $this->assertArrayHasKey('id', $result);
     $this->assertArrayHasKey('description', $result);
     $this->assertArrayHasKey('additionaldescription', $result);
     $this->assertArrayHasKey('randomField', $result);
     $this->assertEquals(2, $result['id']);
     $this->assertEquals('Debit', $result['description']);
     $this->assertEquals('Additional text', $result['additionaldescription']);
     $this->assertEquals('randomValue', $result['randomField']);
     // If backup data exists, restore it
     if ($existingData) {
         $existingDataId = $existingData['id'];
         unset($existingData['id']);
         Shopware()->Db()->update('s_core_translations', $existingData, 'id = ' . $existingDataId);
     }
     Shopware()->Container()->get('shopware_storefront.context_service')->getShopContext()->getShop()->setId($shopId);
 }
Ejemplo n.º 2
0
 /**
  * @covers sAdmin::sGetPaymentTranslation
  */
 public function testsGetPaymentTranslation()
 {
     // Backup existing data and inject demo data
     $existingData = Shopware()->Db()->fetchRow("\n            SELECT * FROM s_core_translations\n            WHERE objecttype = 'config_payment' AND objectlanguage = 2\n        ");
     $demoData = array('objectkey' => 1, 'objectlanguage' => 2, 'objecttype' => 'config_payment', 'objectdata' => 'a:5:{i:4;a:2:{s:11:"description";s:7:"Invoice";s:21:"additionalDescription";s:141:"Payment by invoice. Shopware provides automatic invoicing for all customers on orders after the first, in order to avoid defaults on payment.";}i:2;a:2:{s:11:"description";s:5:"Debit";s:21:"additionalDescription";s:15:"Additional text";}i:3;a:2:{s:11:"description";s:16:"Cash on delivery";s:21:"additionalDescription";s:25:"(including 2.00 Euro VAT)";}i:5;a:2:{s:11:"description";s:15:"Paid in advance";s:21:"additionalDescription";s:57:"The goods are delivered directly upon receipt of payment.";}i:6;a:1:{s:21:"additionalDescription";s:17:"SEPA direct debit";}}');
     if ($existingData) {
         Shopware()->Db()->update('s_core_translations', $demoData, 'id = ' . $existingData['id']);
     } else {
         Shopware()->Db()->insert('s_core_translations', $demoData);
     }
     // Test loading all data, should return the test data
     $this->module->sSYSTEM->sLanguage = 2;
     $result = $this->module->sGetPaymentTranslation();
     $this->assertCount(5, $result);
     $this->assertArrayHasKey(2, $result);
     $this->assertArrayHasKey(3, $result);
     $this->assertArrayHasKey(4, $result);
     $this->assertArrayHasKey(5, $result);
     $this->assertArrayHasKey(6, $result);
     $this->assertArrayHasKey('description', $result[2]);
     $this->assertArrayHasKey('additionalDescription', $result[2]);
     $this->assertArrayHasKey('description', $result[3]);
     $this->assertArrayHasKey('additionalDescription', $result[3]);
     $this->assertArrayHasKey('description', $result[5]);
     $this->assertArrayHasKey('additionalDescription', $result[5]);
     $this->assertEquals('Debit', $result[2]['description']);
     $this->assertEquals('Additional text', $result[2]['additionalDescription']);
     $this->assertEquals('Cash on delivery', $result[3]['description']);
     $this->assertEquals('(including 2.00 Euro VAT)', $result[3]['additionalDescription']);
     $this->assertEquals('Paid in advance', $result[5]['description']);
     $this->assertEquals('The goods are delivered directly upon receipt of payment.', $result[5]['additionalDescription']);
     // Test with just one payment mean
     $result = $this->module->sGetPaymentTranslation(array('id' => 2, 'randomField' => 'randomValue'));
     $this->assertCount(4, $result);
     $this->assertArrayHasKey('id', $result);
     $this->assertArrayHasKey('description', $result);
     $this->assertArrayHasKey('additionaldescription', $result);
     $this->assertArrayHasKey('randomField', $result);
     $this->assertEquals(2, $result['id']);
     $this->assertEquals('Debit', $result['description']);
     $this->assertEquals('Additional text', $result['additionaldescription']);
     $this->assertEquals('randomValue', $result['randomField']);
     // If backup data exists, restore it
     if ($existingData) {
         $existingDataId = $existingData['id'];
         unset($existingData['id']);
         Shopware()->Db()->update('s_core_translations', $existingData, 'id = ' . $existingDataId);
     }
 }