63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
import logging
|
|
from django.test import TestCase, Client, RequestFactory
|
|
from django.urls import reverse
|
|
from django.conf import settings
|
|
|
|
from paypalcheckoutsdk.orders import OrdersCreateRequest, OrdersCaptureRequest
|
|
from paypalcheckoutsdk.core import PayPalHttpClient, SandboxEnvironment
|
|
|
|
from accounts.models import User, Address
|
|
from core.models import Product, Order
|
|
|
|
from .views import OrderCreateView
|
|
from .cart import Cart
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
class CartTest(TestCase):
|
|
def setUp(self):
|
|
self.client = Client()
|
|
|
|
self.customer = User.objects.create_user(
|
|
username='Peter Templer', email='peter@testing.com', password='peterspassword321'
|
|
)
|
|
self.product = Product.objects.create(
|
|
name='Dante\'s Tornado',
|
|
description='Coffee',
|
|
sku='23987',
|
|
price=13.4,
|
|
weight=10,
|
|
visible_in_listings=True
|
|
)
|
|
self.order = Order.objects.create(
|
|
customer=self.customer,
|
|
total_net_amount=13.4
|
|
)
|
|
|
|
self.client.force_login(self.customer)
|
|
|
|
def test_post_checkout_form(self):
|
|
url = reverse('storefront:order-create')
|
|
response = self.client.get(url)
|
|
self.assertTemplateUsed(response, 'storefront/order_form.html')
|
|
|
|
request = response.wsgi_request
|
|
cart = Cart(request)
|
|
cart.add(
|
|
request=request,
|
|
product=self.product,
|
|
quantity=1,
|
|
update_quantity=False
|
|
)
|
|
logger.info(f'Body data:\n{body_data}\n')
|
|
|
|
|
|
params = {
|
|
'email': 'nathanchapman@hey.com',
|
|
'first_name': 'Nathan',
|
|
'last_name': 'Chapman',
|
|
'total_net_amount': 26.80
|
|
}
|
|
|
|
response = self.client.post(url, params)
|