def test_totalOrdersCost(self):

        ordered = OrdersList()
        ordered.addProductsCSV(
            "./csvs/stock-purchases_2016-01-16_to_2016-01-22.csv")

        assert ordered.costAll() == 131987.28
    def test_totalOrdersBySKU(self):

        ordered = OrdersList()
        ordered.addProductsCSV(
            "./csvs/stock-purchases_2016-01-16_to_2016-01-22.csv")

        assert ordered['1621'].totalCost == 260
        assert ordered['1621'].count == 4
        # note this is current retail price (at latest order)
        assert ordered['1621'].retail == 399

#_________________________________________________________________________
#_________________________________________________________________________

    # total cost of orders overall
        '''total cost of orders overall'''
    def test_weightedUnitPrice(self):

        inv = StoreInventory()
        # to calculate the accumulative  retail available, set addBehavior to
        # salesAddBehaviour (this behavior may be renamed to
        # accumulativeRetailBehaviour)
        inv.setAddStyle(behavior_accumulate_retail())
        inv.addProductsCSV("./csvs/trendTest/ifix-stock_trendTest.csv")

        orders = OrdersList()
        orders.addProductsCSV("./csvs/trendTest/stock-purchases_trendTest.csv")

        sales = SalesProductList()
        sales.addProductsCSV("./csvs/trendTest/stock-sales_trendTest.csv")

        inv.addOrders(orders)
        wUnitCost = inv.getWeightedUnitCost("6691")

        # rounding is required at the last moment so errors do not accumulate

        assert round(wUnitCost, 2) == 89.61
        assert round(sales["6691"].count * wUnitCost, 2) == -358.43
        inv.addSales(sales)
        assert round(inv["6691"].count * wUnitCost, 2) == 806.47
Example #4
0
from storeInventory import StoreInventory
from ordersList import OrdersList


if __name__ == '__main__':
    inv=StoreInventory()
    inv.addProductsCSV("./csvs/ifix-stock_2016-01-22.csv")
 
 
    sales=SalesProductList()
    sales.addProductsCSV("./csvs/stock-sales_TEST.csv")
    print sales["602"].totalCost
    print sales["602"].retail
    print sales["602"].count
     
    orders=OrdersList()
    orders.addProductsCSV("./csvs/stock-purchases_TESTsmall.csv")
     
 
    inv.addOrders(orders)
    inv.addSales(sales)
#     
    
    #--Stock--
    #total quantity of SKU item in stock
    #total retail value of SKU item in stock
    #total profit for in stock SKU item
    
    #--Orders--
    #total orders for SKU item