/**
 * Oblicza całkowitą wartość zamówienia po uwzględnieniu kosztów wysyłki, rabatów i podatków.
 *
 * @param {Object} customer - kolekcja informacji na temat osoby, która złożyła zamówienie.
 *
 * @param {Array.<Object>} lineItems - kolekcja zakupionych produktów
 * i ich liczebności oraz koszt wysyłki jednej pozycji.
 *
 * @param {string} discountCode - opcjonalny kod rabatu, który może spowodować
 * uwzględnienie rabatu przed dodaniem kosztów wysyłki i podatków.
 */
var getOrderTotal = function (customer, lineItems, discountCode) {
    var lineItemTotal = getLineItemTotal(lineItems);
    var shippingTotal = getShippingTotal(lineItems);
    var discountTotal = getDiscountTotal(lineItemTotal, discountCode);
    var taxTotal = getTaxTotal(lineTtemTotal, customer);
 
    return lineItemTotal - discountTotal + shippingTotal + taxTotal;
};
