Fix 0 value seen as null bug. and 0 discount.
authorMaxime Bourget <bmx007@gmail.com>
Sun, 26 May 2013 15:19:37 +0000 (16:19 +0100)
committerMaxime Bourget <bmx007@gmail.com>
Sun, 26 May 2013 15:26:53 +0000 (16:26 +0100)
includes/textcart_manager.inc
includes/utilities.inc
test/textcartManager/processTest.php

index 96db2075e2aeebae17c7edbe01a0c3bca100b765..273065e32cf3235813e1943d7a8f028dd208ebbf 100644 (file)
@@ -335,7 +335,7 @@ class TextCartManager {
     $stock_code = "";
     $quantity = "";
     $price = "";
-    $discount = "";
+    $discount = null;
     $date=null;
     $description = "";
 
@@ -422,7 +422,7 @@ class TextCartManager {
       ,"stock_code" => $stock_code
       ,"quantity" => $quantity
       ,"price" => $price
-      ,"discount" => $discount/100.0
+      ,"discount" => $discount !== null && $discount !== '' ? $discount/100.0 : null
       ,"description" => $description
       ,"date" => $date
     );
index d0319d6dcdc816d6ad6eee0aed0d9b90a56541d6..d7166109a1fee35323a639171bb01a19c64f3503 100644 (file)
@@ -27,7 +27,7 @@ function match_criteria($value, $criteria) {
 function expand_template($template, $value, $default_value=null) {
   # replace # placeholder
   #echo "expandind template=$template value=$value default_value=$default_value<br/>";
-  if(isset($value) && $value!="") {
+  if(isset($value) && $value!=="") {
     if($template) {
         if(field_value_is_constant($value) == false) {
           # Value needs to be evaluated (either # or ())
@@ -46,7 +46,7 @@ function expand_template($template, $value, $default_value=null) {
   #echo "    null template=$template value=$value default_value=$default_value<br/>";
   }
 
-  if(isset($value) && $value!="")  {
+  if(isset($value) && $value!=="")  {
   # now use default value if needed
     $value = str_replace('@', $default_value, $value); 
   #echo "    default template=$template value=$value default_value=$default_value<br/>";
index 255a6e4049b5a82ebe4fcbf7bf14c97d4022edc9..0d2a9fda701a60084d1b234fafd47e300e19e414 100644 (file)
@@ -35,6 +35,8 @@ class ProcessTest extends PHPUnit_Framework_TestCase {
  * @dataProvider processNormalExamples
  */
        function testNormalExamples($textcart, $stock_code, $quantity, $price, $discount=null, $description=null) {
+
+               $date = null;
                // Stubbing mgr 
                $this->mgr->expects($this->any())
                        ->method('get_default_price')
@@ -51,6 +53,7 @@ class ProcessTest extends PHPUnit_Framework_TestCase {
                                        ,$this->equalTo($quantity)
                                        ,$this->equalTo($price)
                                        ,$this->equalTo($discount)
+                                       ,$this->equalTo($date)
                                        ,$this->equalTo($description));