def _get_from_cart(self):
     request = Mock()
     setattr(request, 'user', self.user)
     view = CartDetails(request=request)
     ret = view.get_context_data()
     self.assertNotEqual(ret, None)
     return ret
示例#2
0
 def create_fixtures(self):
     self.user = User.objects.create(username="******", email="*****@*****.**")
     
     self.request = Mock()
     setattr(self.request, 'user', None)
     
     self.order = Order()
     self.order.order_subtotal = Decimal('10')
     self.order.order_total = Decimal('10')
     self.order.amount_payed = Decimal('0')
     self.order.shipping_cost = Decimal('0')
     
     self.order.shipping_name = 'toto'
     self.order.shipping_address = 'address'
     self.order.shipping_address2 = 'address2'
     self.order.shipping_zip_code = 'zip'
     self.order.shipping_state = 'state'
     self.order.shipping_country = 'country'
     
     self.order.billing_name = 'toto'
     self.order.billing_address = 'address'
     self.order.billing_address2 = 'address2'
     self.order.billing_zip_code = 'zip'
     self.order.billing_state = 'state'
     self.order.billing_country = 'country'
     
     self.order.save()
示例#3
0
    def setUp(self):
        self.user = User.objects.create(username="******",
                                        email="*****@*****.**",
                                        first_name="Test",
                                        last_name="Toto")
        self.order = Order.objects.create()
        self.country = Country.objects.create(name='CH')
        self.s_add = Address.objects.create()  # Shipping
        self.s_add.name = 'TestName'
        self.s_add.address = 'address'
        self.s_add.city = 'city'
        self.s_add.zip_code = 'zip'
        self.s_add.state = 'state'
        self.s_add.country = self.country
        self.s_add.save()

        self.b_add = Address.objects.create()  # Billing
        self.s_add.name = 'TestName'
        self.b_add.address = 'address'
        self.b_add.city = 'city'
        self.b_add.zip_code = 'zip'
        self.b_add.state = 'state'
        self.b_add.country = self.country
        self.b_add.save()

        self.request = Mock()
        setattr(self.request, 'user', self.user)
        setattr(self.request, 'session', {})
        setattr(self.request, 'method', 'GET')
示例#4
0
文件: views.py 项目: oax/django-shop
 def test_01_get_context_data_works(self):
     self.create_fixtures()
     request = Mock()
     setattr(request, 'user', self.user)
     view = CartDetails(request=request)
     ret = view.get_context_data()
     self.assertNotEqual(ret, None)
示例#5
0
 def test_context_has_as_many_items_as_cart(self):
     self.cart.user = self.user
     self.cart.save()
     request = Mock()
     setattr(request, 'user', self.user)
     view = CartDetails(request=request)
     ret = view.get_context_data()
     self.assertNotEqual(ret, None)
     self.assertEqual(len(ret['cart_items']), 1)
     self.assertEqual(ret['cart_items'][0], self.item)
示例#6
0
 def setUp(self):
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Toto")
     self.request = Mock()
     self.order = Order.objects.create(user=self.user, order_total=10)
     setattr(self.request, 'user', self.user)
     setattr(self.request, 'session', {})
     setattr(self.request, 'method', 'GET')
示例#7
0
 def test_do_not_share_wishlists(self):
     """"Different users shall never share a wishlist"""
     wishlist = get_or_create_wishlist(self.request)
     request = Mock()
     setattr(request, 'session', {})
     user2 = User.objects.create(username="******",
                                 email="*****@*****.**",
                                 first_name="Test2",
                                 last_name="Tester2")
     setattr(request, 'user', user2)
     self.assertNotEqual(wishlist, get_or_create_wishlist(request))
示例#8
0
 def setUp(self):
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Toto")
     self.country = Country.objects.create(name="Switzerland")
     self.address = Address.objects.create(country=self.country)
     self.request = Mock()
     setattr(self.request, 'user', self.user)
     setattr(self.request, 'session', {})
     setattr(self.request, 'method', 'GET')
示例#9
0
 def setUp(self):
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Toto")
     self.request = Mock()
     setattr(self.request, 'user', self.user)
     setattr(self.request, 'session', {})
     setattr(self.request, 'method', 'GET')
     self.cart = Cart()
     self.cart.user = self.user
     self.cart.save()
示例#10
0
 def setUp(self):
     user = User.objects.create(username="******",
                                email="*****@*****.**",
                                first_name="Test",
                                last_name="Tester")
     self.request = Mock()
     setattr(self.request, 'user', user)
     self.cart = Cart.objects.create()
     self.product = Product.objects.create(unit_price=123)
     self.item = CartItem.objects.create(cart=self.cart,
                                         quantity=2,
                                         product=self.product)
示例#11
0
    def test_select_shipping_view(self):
        self.create_fixtures()

        request = Mock()
        setattr(request, 'is_ajax', lambda: False)
        setattr(request, 'user', self.user)
        post = {
            'add_item_id': self.product.id,
            'add_item_quantity': 1,
        }

        view = SelectShippingView(request=request)
        view.create_order_object_from_cart()
示例#12
0
    def test_create_wishlist(self):
        """Asking for a wishlist twice, shall create only one"""
        wishlist = get_or_create_wishlist(self.request)

        # check that wishlist is stored in request
        self.assertEqual(wishlist, get_or_create_wishlist(self.request))
        self.assertTrue(hasattr(self.request, '_wishlist'))
        self.assertTrue(self.request.session.has_key('active_wishlist'))

        # check that wishlist is stored in session
        request = Mock()
        setattr(request, 'session', {'active_wishlist': wishlist.id})
        setattr(request, 'user', self.user)
        self.assertEqual(wishlist, get_or_create_wishlist(request))

        # check that wishlist is stored for current user
        request = Mock()
        setattr(request, 'session', {})
        setattr(request, 'user', self.user)
        self.assertEqual(wishlist, get_or_create_wishlist(request))
        self.assertEqual(request.session['active_wishlist'], wishlist.id)
        self.assertEqual(request._wishlist, wishlist)
示例#13
0
 def setUp(self):
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Toto")
     self.country = Country.objects.create(name="Switzerland")
     self.address = Address.objects.create(country=self.country)
     self.cart = Cart.objects.create()
     self.product = Product.objects.create(name='pizza', active=True, unit_price='1.25')
     self.cart.add_product(self.product)
     self.request = Mock()
     setattr(self.request, 'user', self.user)
     setattr(self.request, 'session', {})
     setattr(self.request, 'method', 'GET')
示例#14
0
 def test_rename_wishlist(self):
     """Products added to the wishlist must be found again"""
     self.assertRaises(exceptions.ObjectDoesNotExist,
                       rename_active_wishlist, self.request, 'DEF')
     wishlist = get_or_create_wishlist(self.request)
     self.assertEqual(wishlist.name, _('My wishlist'))
     rename_active_wishlist(self.request, 'ABC')
     self.assertEqual(wishlist.name, 'ABC')
     request = Mock()
     setattr(request, 'user', self.user)
     setattr(request, 'session', {'active_wishlist': wishlist.id})
     rename_active_wishlist(request, 'DEF')
     wishlist = get_or_create_wishlist(request)
     self.assertEqual(wishlist.name, 'DEF')
示例#15
0
 def setUp(self):
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Toto")
     self.request = Mock()
     setattr(self.request, 'user', self.user)
     setattr(self.request, 'session', {})
     setattr(self.request, 'method', 'GET')
     self.product = Product(name='pizza', slug='pizza', unit_price='1.45')
     self.product.save()
     self.cart = Cart()
     self.cart.user = self.user
     self.cart.save()
示例#16
0
 def setUp(self):
     self.request = Mock()
     setattr(self.request, 'session', {})
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**",
                                     first_name="Test",
                                     last_name="Tester")
     self.product = DiaryProduct(isbn='1234567890', number_of_pages=100)
     self.product.name = 'test'
     self.product.slug = 'test'
     self.product.short_description = 'test'
     self.product.long_description = 'test'
     self.product.unit_price = Decimal('1.0')
     self.product.save()
     setattr(self.request, 'user', self.user)
示例#17
0
    def setUp(self):
        self.user = User.objects.create(username="******",
                                        email="*****@*****.**")

        self.request = Mock()
        setattr(self.request, 'user', None)

        self.order = Order()
        self.order.order_subtotal = Decimal('10')
        self.order.order_total = Decimal('10')
        self.order.shipping_cost = Decimal('0')

        self.order.shipping_address_text = 'shipping address example'
        self.order.billing_address_text = 'billing address example'

        self.order = Order.objects.create()
示例#18
0
    def setUp(self):
        cart_modifiers_pool.USE_CACHE = False
        user = User.objects.create(username="******", email="*****@*****.**")
        self.request = Mock()
        setattr(self.request, 'user', user)
        self.product = Product()
        self.product.name = "TestPrduct"
        self.product.slug = "TestPrduct"
        self.product.short_description = "TestPrduct"
        self.product.long_description = "TestPrduct"
        self.product.active = True
        self.product.unit_price = self.PRODUCT_PRICE
        self.product.save()

        self.cart = Cart()
        self.cart.user = user
        self.cart.save()
示例#19
0
    def setUp(self):
        self.user = User.objects.create(username="******",
                                        email="*****@*****.**")
        self.request = Mock()
        setattr(self.request, 'user', self.user)
        self.order = Order()
        self.order.user = self.user
        self.order.order_subtotal = decimal.Decimal('10')
        self.order.order_total = decimal.Decimal('10')
        self.order.shipping_cost = decimal.Decimal('0')

        self.order.shipping_address_text = 'shipping address example'
        self.order.billing_address_text = 'billing address example'

        self.order.save()
        self.rendered_templates = []
        template_rendered.connect(self.template_rendered_listener)
示例#20
0
 def setUp(self):
     self.save_received_data = False  # if True, leave a hard copy of the html sources received from the PSP
     self.create_fake_order()
     self.viveum_backend = backends_pool.get_payment_backends_list()[0]
     self.factory = RequestFactory()
     self.request = Mock()
     setattr(self.request, 'session', {})
     setattr(self.request, 'is_secure', lambda: False)
     user = User.objects.create(username="******", email="*****@*****.**",
         first_name="Test", last_name="Tester",
         password="******")
     setattr(self.request, 'user', user)
     self.country_usa = Country(name='USA')
     self.country_usa.save()
     self.client = Client()
     self.client.login(username='******', password='******')
     self.add_product_to_cart()
     self.checkout()
示例#21
0
    def setUp(self):
        cart_modifiers_pool.USE_CACHE = False
        user = User.objects.create(username="******",
                                   email="*****@*****.**",
                                   first_name="Test",
                                   last_name="Toto")
        self.request = Mock()
        setattr(self.request, 'user', user)
        self.product = Product()
        self.product.name = "TestPrduct"
        self.product.slug = "TestPrduct"
        self.product.short_description = "TestPrduct"
        self.product.long_description = "TestPrduct"
        self.product.active = True
        self.product.unit_price = self.PRODUCT_PRICE
        self.product.save()

        self.cart = Cart()
        self.cart.user = user
        self.cart.save()

        self.country = Country.objects.create(name='CH')

        self.address = Address()
        self.address.name = 'Test Toto'
        self.address.address = 'address'
        self.address.address2 = 'address2'
        self.address.zip_code = '1234'
        self.address.state = 'ZH'
        self.address.country = self.country
        self.address.is_billing = True
        self.address.is_shipping = True
        self.address.save()

        self.address2 = Address()
        self.address2.name = 'Test Toto'
        self.address2.address = '2address'
        self.address2.address2 = '2address2'
        self.address2.zip_code = '21234'
        self.address2.state = '2ZH'
        self.address2.country = self.country
        self.address2.is_billing = True
        self.address2.is_shipping = False
        self.address2.save()
示例#22
0
 def setUp(self):
     current_site = Site.objects.get(id=settings.SITE_ID)
     current_site.domain = settings.HOST_NAME
     current_site.save()
     self._create_fake_order()
     self.ipayment_backend = backends_pool.get_payment_backends_list()[0]
     self.factory = RequestFactory()
     self.request = Mock()
     setattr(self.request, 'session', {})
     setattr(self.request, 'is_secure', lambda: False)
     user = User.objects.create(username="******", email="*****@*****.**",
         first_name="Test", last_name="Tester",
         password="******")
     setattr(self.request, 'user', user)
     self.country_usa = Country(name='USA')
     self.country_usa.save()
     self.client = Client()
     self.client.login(username='******', password='******')
     self._create_cart()
     self._go_shopping()
示例#23
0
 def test_delete_wishlist(self):
     """Deleting a wishlist also deletes all its items"""
     self.assertRaises(exceptions.ObjectDoesNotExist,
                       delete_active_wishlist, self.request)
     wishlist = get_or_create_wishlist(self.request)
     wishlist.add_product(self.product)
     self.assertEqual(
         WishlistItem.objects.filter(wishlist=wishlist).count(), 1)
     self.assertEqual(Wishlist.objects.all().count(), 1)
     request = Mock()
     setattr(request, 'user', self.user)
     setattr(request, 'session', {'active_wishlist': wishlist.id})
     delete_active_wishlist(request)
     self.assertFalse(hasattr(request, '_wishlist'))
     self.assertFalse(request.session.has_key('active_wishlist'))
     self.assertEqual(Wishlist.objects.all().count(), 0)
     # check for automatic delete cascade
     self.assertEqual(
         WishlistItem.objects.filter(wishlist=wishlist).count(), 0)
     get_or_create_wishlist(request)
     self.assertEqual(Wishlist.objects.all().count(), 1)
     delete_active_wishlist(request)
     self.assertEqual(Wishlist.objects.all().count(), 0)
示例#24
0
    def test_calling_ajax_post_returns_content(self):
        self.cart.user = self.user
        self.cart.save()

        request = Mock()
        setattr(request, 'is_ajax', lambda: True)
        setattr(request, 'user', self.user)
        post = {
            'add_item_id': self.product.id,
            'add_item_quantity': 1,
        }
        setattr(request, 'POST', post)

        view = CartDetails(request=request)
        ret = view.post()
        self.assertTrue(isinstance(ret, HttpResponse))

        ret = view.get_context_data()
        self.assertNotEqual(ret, None)
        self.assertEqual(len(ret['cart_items']), 1)

        self.assertEqual(ret['cart_items'][0], self.item)
        self.assertEqual(ret['cart_items'][0].quantity, 2)
 def test_get_product_returns_correctly(self):
     request = Mock()
     view = DiaryDetailView(request=request, kwargs={'pk': self.diary.id})
     setattr(view, 'object', None)
     obj = view.get_object()
     self.assertTrue(isinstance(obj, DiaryProduct))
 def _get_post_request(self, post):
     request = Mock()
     setattr(request, 'is_ajax', lambda: False)
     setattr(request, 'user', self.user)
     setattr(request, 'POST', post)
     return request
示例#27
0
 def setUp(self):
     user = User.objects.create(username="******", email="*****@*****.**")
     self.request = Mock()
     setattr(self.request, 'user', user)
示例#28
0
 def setUp(self):
     self.backend = FlatRateShipping(shop=ShippingAPI())
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**")
     self.request = Mock()
     setattr(self.request, 'user', self.user)