Exemplo n.º 1
0
class TestAVoucher(TestCase):

    def setUp(self):
        self.voucher = VoucherFactory(
            start_datetime=START_DATETIME, end_datetime=END_DATETIME)

    def test_is_active_between_start_and_end_dates(self):
        test = datetime.datetime(2011, 6, 10).replace(tzinfo=utc)
        self.assertTrue(self.voucher.is_active(test))

    def test_is_active_on_end_date(self):
        self.assertTrue(self.voucher.is_active(END_DATETIME))

    def test_is_active_on_start_date(self):
        self.assertTrue(self.voucher.is_active(START_DATETIME))

    def test_is_inactive_outside_of_start_and_end_dates(self):
        test = datetime.datetime(2012, 3, 10).replace(tzinfo=utc)
        self.assertFalse(self.voucher.is_active(test))

    def test_increments_total_discount_when_recording_usage(self):
        self.voucher.record_discount({'discount': D('10.00')})
        self.assertEqual(self.voucher.total_discount, D('10.00'))
        self.voucher.record_discount({'discount': D('10.00')})
        self.assertEqual(self.voucher.total_discount, D('20.00'))
Exemplo n.º 2
0
    def test_post_valid(self):
        basket = BasketFactory()
        voucher = VoucherFactory()
        assert voucher.is_active()

        data = {"code": voucher.code}
        request = RequestFactory().post("/", data=data, basket=basket)

        view = views.VoucherAddView.as_view()
        response = view(request)
        assert response.status_code == 302

        voucher = voucher.__class__.objects.get(pk=voucher.pk)
        assert voucher.num_basket_additions == 1, [unicode(m.message) for m in get_messages(request)]
Exemplo n.º 3
0
    def test_post_valid(self):
        basket = BasketFactory()
        voucher = VoucherFactory()
        self.assertTrue(voucher.is_active())

        data = {"code": voucher.code}
        request = RequestFactory().post("/", data=data, basket=basket)

        view = views.VoucherAddView.as_view()
        response = view(request)
        self.assertEqual(response.status_code, 302)

        voucher = voucher.__class__.objects.get(pk=voucher.pk)
        self.assertEqual(voucher.num_basket_additions, 1, msg=self._get_voucher_message(request))
Exemplo n.º 4
0
class TestAVoucher(TestCase):
    def setUp(self):
        self.voucher = VoucherFactory(start_datetime=START_DATETIME,
                                      end_datetime=END_DATETIME)

    def test_is_active_between_start_and_end_dates(self):
        test = datetime.datetime(2011, 6, 10).replace(tzinfo=utc)
        self.assertTrue(self.voucher.is_active(test))

    def test_is_active_on_end_date(self):
        self.assertTrue(self.voucher.is_active(END_DATETIME))

    def test_is_active_on_start_date(self):
        self.assertTrue(self.voucher.is_active(START_DATETIME))

    def test_is_inactive_outside_of_start_and_end_dates(self):
        test = datetime.datetime(2012, 3, 10).replace(tzinfo=utc)
        self.assertFalse(self.voucher.is_active(test))

    def test_increments_total_discount_when_recording_usage(self):
        self.voucher.record_discount({'discount': D('10.00')})
        self.assertEqual(self.voucher.total_discount, D('10.00'))
        self.voucher.record_discount({'discount': D('10.00')})
        self.assertEqual(self.voucher.total_discount, D('20.00'))
Exemplo n.º 5
0
    def test_post_valid(self):
        basket = BasketFactory()
        voucher = VoucherFactory()
        self.assertTrue(voucher.is_active())

        data = {
            'code': voucher.code
        }
        request = RequestFactory().post('/', data=data, basket=basket)

        view = views.VoucherAddView.as_view()
        response = view(request)
        self.assertEqual(response.status_code, 302)

        voucher = voucher.__class__.objects.get(pk=voucher.pk)
        self.assertEqual(voucher.num_basket_additions, 1, msg=self._get_voucher_message(request))
Exemplo n.º 6
0
    def test_post_valid(self):
        basket = BasketFactory()
        voucher = VoucherFactory()
        assert voucher.is_active()

        data = {
            'code': voucher.code
        }
        request = RequestFactory().post('/', data=data, basket=basket)

        view = views.VoucherAddView.as_view()
        response = view(request)
        assert response.status_code == 302

        voucher = voucher.__class__.objects.get(pk=voucher.pk)
        assert voucher.num_basket_additions == 1, (
            [unicode(m.message) for m in get_messages(request)])