# -*- encoding: utf-8 -*-
import pytest
from datetime import date
from dateutil.relativedelta import relativedelta
from django.urls import reverse
from base.tests.test_utils import PermTestCase
from base.url_utils import url_with_querystring
from checkout.tests.factories import (
CustomerFactory,
CustomerPaymentFactory,
ObjectPaymentPlanFactory,
ObjectPaymentPlanInstalmentFactory,
)
from login.tests.fixture import perm_check
from .factories import SalesLedgerFactory
[docs]@pytest.mark.django_db
def test_customer(perm_check):
obj = CustomerFactory()
url = url_with_querystring(reverse("checkout.customer"), email=obj.email)
perm_check.staff(url)
[docs]@pytest.mark.django_db
def test_customer_charge(perm_check):
obj = CustomerFactory()
url = reverse("checkout.customer.charge", args=[obj.pk])
perm_check.staff(url)
[docs]@pytest.mark.django_db
def test_customer_refresh(perm_check):
obj = CustomerFactory()
url = url_with_querystring(
reverse("checkout.customer.refresh", args=[obj.pk]), email=obj.email
)
perm_check.staff(url)
[docs]@pytest.mark.django_db
def test_customer_refresh_request(perm_check):
obj = CustomerFactory()
url = url_with_querystring(
reverse("checkout.customer.refresh.request", args=[obj.pk]),
email=obj.email,
)
perm_check.staff(url)
[docs]@pytest.mark.django_db
def test_list(perm_check):
perm_check.staff(reverse("checkout.list"))
[docs]@pytest.mark.django_db
def test_list_audit(perm_check):
perm_check.staff(reverse("checkout.list.audit"))
[docs]@pytest.mark.django_db
def test_object_payment_plan_delete(perm_check):
obj = ObjectPaymentPlanInstalmentFactory(
object_payment_plan=ObjectPaymentPlanFactory(
content_object=SalesLedgerFactory()
)
)
perm_check.staff(
reverse("checkout.object.payment.plan.delete", args=[obj.pk])
)
[docs]@pytest.mark.django_db
def test_object_payment_plan_detail(perm_check):
obj = ObjectPaymentPlanInstalmentFactory(
object_payment_plan=ObjectPaymentPlanFactory(
content_object=SalesLedgerFactory()
)
)
perm_check.staff(reverse("checkout.object.payment.plan", args=[obj.pk]))
[docs]@pytest.mark.django_db
def test_object_payment_plan_instalment(perm_check):
obj = ObjectPaymentPlanInstalmentFactory(
object_payment_plan=ObjectPaymentPlanFactory(
content_object=SalesLedgerFactory()
)
)
perm_check.staff(
reverse("checkout.object.payment.plan.instalment", args=[obj.pk])
)
[docs]@pytest.mark.django_db
def test_object_payment_plan_instalment_charge(perm_check):
obj = ObjectPaymentPlanInstalmentFactory(
object_payment_plan=ObjectPaymentPlanFactory(
content_object=SalesLedgerFactory()
)
)
perm_check.staff(
reverse("checkout.object.payment.plan.instalment.charge", args=[obj.pk])
)
[docs]@pytest.mark.django_db
def test_object_payment_plan_instalment_paid(perm_check):
obj = ObjectPaymentPlanInstalmentFactory(
object_payment_plan=ObjectPaymentPlanFactory(
content_object=SalesLedgerFactory()
)
)
perm_check.staff(
reverse("checkout.object.payment.plan.instalment.paid", args=[obj.pk])
)
[docs]@pytest.mark.django_db
def test_object_payment_plan_card_fail_list(perm_check):
perm_check.staff(reverse("checkout.object.payment.plan.card.fail.list"))
[docs]@pytest.mark.django_db
def test_object_payment_plan_instalment_audit_list(perm_check):
perm_check.staff(
reverse("checkout.object.payment.plan.instalment.audit.list")
)
[docs]@pytest.mark.django_db
def test_object_payment_plan_list(perm_check):
perm_check.staff(reverse("checkout.object.payment.plan.list"))