Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 10
CRAP
0.00% covered (danger)
0.00%
0 / 24
App\Models\Cart
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 10
156
0.00% covered (danger)
0.00%
0 / 24
 __construct
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 4
 getInstance
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 5
 getCartTotal
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 getMwst
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 getTotalNoMwst
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 addArticle
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 3
 deleteArticle
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 updateArticle
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 3
 getArticles
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 __destruct
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
<?php
namespace App\Models;
class Cart {
    private $articles = [];
    private static $instance;
    private function __construct() {
        if (isset($_SESSION['cartArticle'])) {
            $this->articles = unserialize($_SESSION['cartArticle']);
        }
    }
    /**
     *
     * @return Cart
     */
    public static function getInstance() {
        if (!self::$instance) {
            self::$instance = new Cart;
        }
        return self::$instance;
    }
    
    public function getCartTotal() {
          
    }
    
    public function getMwst() {
          
    }
    
    public function getTotalNoMwst() {
          
    }
    /**
     *
     * @param \App\Models\Article $article
     * @param int $quantity
     */
    public function addArticle(Article $article, $quantity = 1) {
        $cartArticle = CartArticle::fromArticle($article, $quantity);
        $this->articles[$cartArticle->getID()] = $cartArticle;
    }
    /**
     *
     * @param \App\Models\Article $article
     * @param int $quantity
     */
    public function deleteArticle(Article $article) {
        unset($this->articles[$article->getID()]);
    }
    
    public function updateArticle(Article $article, $quantity) {
          $cartArticle = CartArticle::fromArticle($article, $quantity);
          $this->articles[$cartArticle->getID()] = $cartArticle;
    }
    /**
     * 
     * @return type
     */
    public function getArticles() {
        return $this->articles;
    }
    public function __destruct() {
        $_SESSION['cartArticle'] = serialize($this->articles);
    }
}