def test_update_product_minimal_variant_price(product):
    variant = product.variants.first()
    variant.price_override = Money("4.99", "USD")
    variant.save()

    assert product.minimal_variant_price == product.price == Money("10", "USD")
    update_product_minimal_variant_price(product)
    assert product.minimal_variant_price == variant.price_override
def test_dashboard_product_variant_delete_view_updates_minimal_variant_price(
    admin_client, product
):
    # Set "price_override" on the variant to lower the "minimal_variant_price"
    assert product.minimal_variant_price == product.price == Money("10", "USD")
    variant = product.variants.get()
    variant.price_override = Money("4.99", "USD")
    variant.save()
    update_product_minimal_variant_price(product)
    product.refresh_from_db()
    assert product.minimal_variant_price == variant.price_override

    url = reverse(
        "dashboard:variant-delete",
        kwargs={"product_pk": product.pk, "variant_pk": variant.pk},
    )

    response = admin_client.post(url)
    assert response.status_code == 302

    product.refresh_from_db()
    assert product.minimal_variant_price == product.price