Ejemplo n.º 1
0
 def prepare_basket(self, price):
     """ Helper function that creates a basket and adds a product with set price to it. """
     basket = factories.BasketFactory(owner=self.user, site=self.site)
     basket.add_product(
         factories.ProductFactory(stockrecords__price_excl_tax=price), 1)
     self.assertEqual(basket.lines.count(), 1)
     self.assertEqual(basket.total_incl_tax, Decimal(price))
Ejemplo n.º 2
0
    def prepare_basket(self, price, bundle=False):
        """ Helper function that creates a basket and adds a product with set price to it. """
        basket = factories.BasketFactory(owner=self.user, site=self.site)
        self.course_run.create_or_update_seat('verified', True, Decimal(price), self.partner)
        basket.add_product(self.course_run.seat_products[0])
        self.assertEqual(basket.lines.count(), 1)
        self.assertEqual(basket.total_incl_tax, Decimal(price))

        if bundle:
            BasketAttribute.objects.update_or_create(
                basket=basket,
                attribute_type=BasketAttributeType.objects.get(name='bundle_identifier'),
                value_text=self.bundle_attribute_value
            )
Ejemplo n.º 3
0
    def setUp(self):
        super(VoucherAddViewTests, self).setUp()
        self.user = self.create_user()
        self.client.login(username=self.user.username, password=self.password)
        self.basket = factories.BasketFactory(owner=self.user, site=self.site)

        # Fallback storage is needed in tests with messages
        self.request.user = self.user
        self.request.basket = self.basket

        self.view = VoucherAddView()
        self.view.request = self.request

        self.form = BasketVoucherForm()
        self.form.cleaned_data = {'code': COUPON_CODE}
Ejemplo n.º 4
0
    def setUp(self):
        super(VoucherAddMessagesViewTests, self).setUp()
        self.user = self.create_user()
        self.client.login(username=self.user.username, password=self.password)
        self.basket = factories.BasketFactory(owner=self.user, site=self.site)

        self.request = RequestFactory().request()
        # Fallback storage is needed in tests with messages
        setattr(self.request, 'session', 'session')
        messages = FallbackStorage(self.request)
        setattr(self.request, '_messages', messages)
        self.request.user = self.user

        self.voucher_add_view = VoucherAddMessagesView()
        self.form = BasketVoucherForm()
        self.form.cleaned_data = {'code': COUPON_CODE}
Ejemplo n.º 5
0
 def test_already_purchased_product(self):
     """
     Verify student can not place multiple orders for single course seat
     """
     course = CourseFactory()
     product = course.create_or_update_seat("Verified", True, 0, self.partner)
     stock_record = StockRecordFactory(product=product, partner=self.partner)
     catalog = Catalog.objects.create(partner=self.partner)
     catalog.stock_records.add(stock_record)
     sku = stock_record.partner_sku
     basket = factories.BasketFactory(owner=self.user, site=self.site)
     basket.add_product(product, 1)
     create_order(user=self.user, basket=basket)
     url = '{path}?sku={sku}'.format(path=self.path, sku=sku)
     expected_content = 'You have already purchased {course} seat.'.format(course=product.course.name)
     response = self.client.get(url)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(response.context['error'], expected_content)
Ejemplo n.º 6
0
 def create_basket_and_add_product(self, product):
     basket = factories.BasketFactory(owner=self.user, site=self.site)
     basket.add_product(product, 1)
     return basket