Example #1
0
 /**
  * @covers sBasket::sCheckMinimumCharge
  */
 public function testsCheckMinimumCharge()
 {
     $oldMinimumOrder = $this->module->sSYSTEM->sUSERGROUPDATA["minimumorder"];
     $oldMinimumOrderSurcharge = $this->module->sSYSTEM->sUSERGROUPDATA["minimumordersurcharge"];
     // Test with minimum order surcharge, always returns false
     $this->module->sSYSTEM->sUSERGROUPDATA["minimumordersurcharge"] = 10;
     $this->assertFalse($this->module->sCheckMinimumCharge());
     $this->module->sSYSTEM->sUSERGROUPDATA["minimumordersurcharge"] = 0;
     $this->module->sSYSTEM->sUSERGROUPDATA["minimumorder"] = 10;
     // Test with empty cart, expect 10
     $this->assertEquals(10, $this->module->sCheckMinimumCharge());
     $this->module->sSYSTEM->sSESSION_ID = uniqid();
     $this->session->offsetSet('sessionId', $this->module->sSYSTEM->sSESSION_ID);
     // Add one article to the basket with enough value to use discount
     $randomArticle = $this->db->fetchRow('SELECT * FROM s_articles_details detail
         INNER JOIN s_articles article
           ON article.id = detail.articleID
         WHERE detail.active = 1
         ORDER BY RAND() LIMIT 1');
     $this->db->insert('s_order_basket', array('price' => 2, 'quantity' => 1, 'sessionID' => $this->session->get('sessionId'), 'ordernumber' => $randomArticle['ordernumber'], 'articleID' => $randomArticle['articleID']));
     // Test with non-empty cart, expect 10
     $this->assertEquals(10, $this->module->sCheckMinimumCharge());
     // Pass the minimum value, expect false
     $this->db->insert('s_order_basket', array('price' => 20, 'quantity' => 1, 'sessionID' => $this->session->get('sessionId'), 'ordernumber' => $randomArticle['ordernumber'], 'articleID' => $randomArticle['articleID']));
     $this->assertFalse($this->module->sCheckMinimumCharge());
     // Housekeeping
     $this->module->sSYSTEM->sUSERGROUPDATA["minimumorder"] = $oldMinimumOrder;
     $this->module->sSYSTEM->sUSERGROUPDATA["minimumordersurcharge"] = $oldMinimumOrderSurcharge;
     $this->db->delete('s_order_basket', array('sessionID = ?' => $this->session->get('sessionId')));
 }
Example #2
0
 /**
  * Get configured minimum charge to check in order processing
  *
  * @return bool
  */
 public function getMinimumCharge()
 {
     return $this->basket->sCheckMinimumCharge();
 }