Exemple #1
0
def test_shop_overview_block(rf, data):
    (today, expected_today, expected_mtd, expected_ytd) = data
    product = get_default_product()
    sp = product.get_shop_instance(get_default_shop())
    sp.default_price_value = "10"
    sp.save()
    get_order_for_date(today, product)
    o = get_order_for_date(today, product)
    o.customer = None
    o.save()
    get_order_for_date(date(today.year - 1, 12, 31), product)
    get_order_for_date(date(today.year, 1, 1), product)
    get_order_for_date(date(today.year, today.month, 1), product)

    block = get_shop_overview_block(rf.get("/"), DEFAULT_CURRENCY, today)
    soup = BeautifulSoup(block.content)
    _, today_sales, mtd, ytd, totals = soup.find_all("tr")

    assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(
        expected_today)
    assert today_sales.find_all(
        "td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_today)
    assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(
        expected_mtd)
    assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(
        expected_mtd)
    assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(
        expected_ytd)
    assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(
        expected_ytd)
    assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "5"
    assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "5"
def test_shop_overview_block(rf, data):
    (today, expected_today, expected_mtd, expected_ytd) = data
    product = get_default_product()
    sp = product.get_shop_instance(get_default_shop())
    sp.default_price_value = "10"
    sp.save()
    get_order_for_date(today, product)
    o = get_order_for_date(today, product)
    o.customer = None
    o.save()
    get_order_for_date(date(today.year - 1, 12, 31), product)
    get_order_for_date(date(today.year, 1, 1), product)
    get_order_for_date(date(today.year, today.month, 1), product)

    block = get_shop_overview_block(rf.get("/"), DEFAULT_CURRENCY, today)
    soup = BeautifulSoup(block.content)
    _, today_sales, mtd, ytd, totals = soup.find_all("tr")

    assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_today)
    assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_today)
    assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_mtd)
    assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_mtd)
    assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_ytd)
    assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_ytd)
    assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "5"
    assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "5"
Exemple #3
0
 def get_dashboard_blocks(self, request):
     import shuup.admin.modules.sales_dashboard.dashboard as dashboard
     currency = self.currency
     if not currency:
         return
     yield dashboard.get_sales_of_the_day_block(request, currency)
     yield dashboard.get_lifetime_sales_block(request, currency)
     yield dashboard.get_avg_purchase_size_block(request, currency)
     yield dashboard.get_open_orders_block(request, currency)
     yield dashboard.get_order_value_chart_dashboard_block(request, currency)
     yield dashboard.get_shop_overview_block(request, currency)
     yield dashboard.get_recent_orders_block(request, currency)
Exemple #4
0
 def get_dashboard_blocks(self, request):
     import shuup.admin.modules.sales_dashboard.dashboard as dashboard
     currency = self.currency
     if not currency:
         return
     yield dashboard.get_sales_of_the_day_block(request, currency)
     yield dashboard.get_lifetime_sales_block(request, currency)
     yield dashboard.get_avg_purchase_size_block(request, currency)
     yield dashboard.get_open_orders_block(request, currency)
     yield dashboard.get_order_value_chart_dashboard_block(
         request, currency)
     yield dashboard.get_shop_overview_block(request, currency)
     yield dashboard.get_recent_orders_block(request, currency)
def test_shop_overview_block(rf, data, admin_user):
    with override_settings(SHUUP_ENABLE_MULTIPLE_SHOPS=True):
        shop1 = get_default_shop()
        shop2 = get_shop(identifier="shop2", status=ShopStatus.ENABLED, name="Shop2")

        (today, expected_today, expected_mtd, expected_ytd) = data
        product = get_default_product()
        sp = product.get_shop_instance(shop1)
        sp.default_price_value = "10"
        sp.save()
        get_order_for_date(today, product)
        o = get_order_for_date(today, product)
        o.customer = None
        o.save()
        get_order_for_date(date(today.year - 1, 12, 31), product)
        get_order_for_date(date(today.year, 1, 1), product)
        get_order_for_date(date(today.year, today.month, 1), product)

        for shop in [shop1, shop2]:
            request = apply_request_middleware(rf.get("/"), user=admin_user, shop=shop)
            block = get_shop_overview_block(request, currency=DEFAULT_CURRENCY, for_date=today)
            soup = BeautifulSoup(block.content)
            _, today_sales, mtd, ytd, totals = soup.find_all("tr")

            if shop == shop1:
                assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_today)
                assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_today)
                assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_mtd)
                assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_mtd)
                assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_ytd)
                assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_ytd)
                assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "5"
                assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "5"
            else:
                assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
def test_shop_overview_block(rf, data, admin_user):
    with override_settings(SHUUP_ENABLE_MULTIPLE_SHOPS=True):
        shop1 = get_default_shop()
        shop2 = get_shop(identifier="shop2", status=ShopStatus.ENABLED, name="Shop2")

        (today, expected_today, expected_mtd, expected_ytd) = data
        product = get_default_product()
        sp = product.get_shop_instance(shop1)
        sp.default_price_value = "10"
        sp.save()
        get_order_for_date(today, product)
        o = get_order_for_date(today, product)
        o.customer = None
        o.save()
        get_order_for_date(date(today.year - 1, 12, 31), product)
        get_order_for_date(date(today.year, 1, 1), product)
        get_order_for_date(date(today.year, today.month, 1), product)

        for shop in [shop1, shop2]:
            request = apply_request_middleware(rf.get("/"), user=admin_user, shop=shop)
            block = get_shop_overview_block(request, currency=DEFAULT_CURRENCY, for_date=today)
            soup = BeautifulSoup(block.content)
            _, today_sales, mtd, ytd, totals = soup.find_all("tr")

            if shop == shop1:
                assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_today)
                assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_today)
                assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_mtd)
                assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_mtd)
                assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == str(expected_ytd)
                assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == str(expected_ytd)
                assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "5"
                assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "5"
            else:
                assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
                assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "0"
                assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "0"
def test_shop_overview_block(rf):
    today = date.today()
    product = get_default_product()
    sp = product.get_shop_instance(get_default_shop())
    sp.default_price_value = "10"
    sp.save()
    get_order_for_date(today, product)
    o = get_order_for_date(today, product)
    o.customer = None
    o.save()
    get_order_for_date(date(today.year, 1, 1), product)
    get_order_for_date(date(today.year, today.month, 1), product)

    block = get_shop_overview_block(rf.get("/"), DEFAULT_CURRENCY)
    soup = BeautifulSoup(block.content)
    _, today_sales, mtd, ytd, totals = soup.find_all("tr")
    assert today_sales.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "2"
    assert today_sales.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "2"
    assert mtd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == ("4" if today.month == 1 else "3")
    assert mtd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == ("4" if today.month == 1 else "3")
    assert ytd.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "4"
    assert ytd.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "4"
    assert totals.find_all("td")[NUM_ORDERS_COLUMN_INDEX].string == "4"
    assert totals.find_all("td")[NUM_CUSTOMERS_COLUMN_INDEX].string == "4"