def test_query_sales_with_filter_discount_type( sale_filter, count, sale_type, staff_api_client, query_sales_with_filter, permission_manage_discounts, ): Sale.objects.bulk_create([ Sale(name="Sale1", value=123, type=DiscountValueType.FIXED), Sale(name="Sale2", value=123, type=sale_type), ]) variables = {"filter": sale_filter} response = staff_api_client.post_graphql( query_sales_with_filter, variables, permissions=[permission_manage_discounts]) content = get_graphql_content(response) data = content["data"]["sales"]["edges"] assert len(data) == count
def test_query_sales_with_filter_status( sale_filter, start_date, end_date, count, staff_api_client, query_sales_with_filter, permission_manage_discounts, ): Sale.objects.bulk_create([ Sale(name="Sale1", value=123, start_date=timezone.now()), Sale(name="Sale2", value=123, start_date=start_date, end_date=end_date), ]) variables = {"filter": sale_filter} response = staff_api_client.post_graphql( query_sales_with_filter, variables, permissions=[permission_manage_discounts]) content = get_graphql_content(response) data = content["data"]["sales"]["edges"] assert len(data) == count
def test_variant_discounts(product): variant = product.variants.get() low_sale = Sale(type=DiscountValueType.FIXED, value=5) low_discount = DiscountInfo( sale=low_sale, product_ids={product.id}, category_ids=set(), collection_ids=set(), ) sale = Sale(type=DiscountValueType.FIXED, value=8) discount = DiscountInfo( sale=sale, product_ids={product.id}, category_ids=set(), collection_ids=set() ) high_sale = Sale(type=DiscountValueType.FIXED, value=50) high_discount = DiscountInfo( sale=high_sale, product_ids={product.id}, category_ids=set(), collection_ids=set(), ) final_price = variant.get_price(discounts=[low_discount, discount, high_discount]) assert final_price.gross == Money(0, "USD")
def test_query_sales_with_filter_search( sale_filter, count, staff_api_client, query_sales_with_filter, permission_manage_discounts, ): Sale.objects.bulk_create([ Sale(name="BigSale", value=123, type="PERCENTAGE"), Sale(name="Sale2", value=123, type="FIXED", start_date=date(2012, 1, 5)), Sale(name="Sale3", value=69, type="FIXED", start_date=date(2012, 1, 5)), ]) variables = {"filter": sale_filter} response = staff_api_client.post_graphql( query_sales_with_filter, variables, permissions=[permission_manage_discounts]) content = get_graphql_content(response) data = content["data"]["sales"]["edges"] assert len(data) == count
def sales_list(): return list( Sale.objects.bulk_create( [Sale(name="Sale1", value=15), Sale(name="Sale2", value=5)]))