Example #1
0
 /**
  * @covers sBasket::sCheckForESD
  */
 public function testsCheckForESD()
 {
     // No session, expect false
     $this->assertFalse($this->module->sCheckForESD());
     $this->module->sSYSTEM->sSESSION_ID = uniqid();
     $this->session->offsetSet('sessionId', $this->module->sSYSTEM->sSESSION_ID);
     // Get random non-esd article and add it to the basket
     $randomNoESDArticle = $this->db->fetchRow('SELECT detail.ordernumber
         FROM s_articles_details detail
         LEFT JOIN s_articles article
           ON article.id = detail.articleID
         LEFT JOIN s_articles_esd esd
           ON esd.articledetailsID = detail.id
         WHERE detail.active = 1
         AND esd.id IS NULL
         ORDER BY RAND() LIMIT 1');
     $this->assertGreaterThan(0, $this->module->sAddArticle($randomNoESDArticle['ordernumber'], 1));
     $this->assertFalse($this->module->sCheckForESD());
     // Get random esd article
     $randomESDArticle = $this->db->fetchRow('SELECT detail.* FROM s_articles_details detail
         LEFT JOIN s_articles article
           ON article.id = detail.articleID
         LEFT JOIN s_articles_esd esd
           ON esd.articledetailsID = detail.id
         WHERE esd.id IS NOT NULL
         ORDER BY RAND() LIMIT 1');
     $this->db->update('s_articles_details', array('active' => 1), array('id = ?' => $randomESDArticle['id']));
     $this->db->update('s_articles', array('active' => 1), array('id = ?' => $randomESDArticle['articleID']));
     $this->module->sAddArticle($randomESDArticle['ordernumber'], 1);
     $this->assertTrue($this->module->sCheckForESD());
     // Housekeeping
     $this->db->delete('s_order_basket', array('sessionID = ?' => $this->session->get('sessionId')));
     $this->db->update('s_articles_details', array('active' => 0), array('id = ?' => $randomESDArticle['id']));
     $this->db->update('s_articles', array('active' => 0), array('id = ?' => $randomESDArticle['articleID']));
 }
Example #2
0
 /**
  * Check if any electronically distribution product is in basket
  *
  * @return boolean
  */
 public function getEsdNote()
 {
     $payment = empty($this->View()->sUserData['additional']['payment']) ? $this->session['sOrderVariables']['sUserData']['additional']['payment'] : $this->View()->sUserData['additional']['payment'];
     return $this->basket->sCheckForESD() && !$payment['esdactive'];
 }