Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import httplib
  2. from django.utils import unittest
  3. from django.core.exceptions import ValidationError
  4. from django.core.urlresolvers import resolve
  5. from django.test import Client
  6. from oscar.apps.promotions.models import *
  7. class HomepageTest(unittest.TestCase):
  8. def setUp(self):
  9. self.client = Client()
  10. def test_homepage(self):
  11. response = self.client.get("/")
  12. self.assertEquals(httplib.OK, response.status_code)
  13. class PromotionTest(unittest.TestCase):
  14. def test_promotion_cannot_be_saved_without_content(self):
  15. with self.assertRaises(ValidationError):
  16. p = Promotion(name='Dummy')
  17. p.full_clean()
  18. def test_html_is_returned_for_pod_html(self):
  19. p = Promotion(name='Dummy', pod_image='/dummy-image.jpg')
  20. self.assertTrue(len(p.get_pod_html()) > 0)
  21. def test_html_is_returned_for_pod_with_link_html(self):
  22. p = Promotion(name='Dummy', pod_image='/dummy-image.jpg', link_url="http://www.example.com")
  23. self.assertTrue(len(p.get_pod_html()) > 0)
  24. class PagePromotionTest(unittest.TestCase):
  25. def setUp(self):
  26. self.promotion = Promotion.objects.create(name='Dummy', link_url='http://www.example.com')
  27. self.page_prom = PagePromotion.objects.create(promotion=self.promotion,
  28. position=RAW_HTML,
  29. page_url='/')
  30. def test_clicks_start_at_zero(self):
  31. self.assertEquals(0, self.page_prom.clicks)
  32. def test_click_is_recorded(self):
  33. self.page_prom.record_click()
  34. self.assertEquals(1, self.page_prom.clicks)
  35. def test_get_link(self):
  36. link = self.page_prom.get_link()
  37. match = resolve(link)
  38. self.assertEquals('oscar-page-promotion-click', match.url_name)
  39. class KeywordPromotionTest(unittest.TestCase):
  40. def setUp(self):
  41. self.promotion = Promotion.objects.create(name='Dummy', link_url='http://www.example.com')
  42. self.kw_prom = KeywordPromotion.objects.create(promotion=self.promotion,
  43. position=RAW_HTML,
  44. keyword='cheese')
  45. def test_clicks_start_at_zero(self):
  46. self.assertEquals(0, self.kw_prom.clicks)
  47. def test_click_is_recorded(self):
  48. self.kw_prom.record_click()
  49. self.assertEquals(1, self.kw_prom.clicks)
  50. def test_get_link(self):
  51. link = self.kw_prom.get_link()
  52. match = resolve(link)
  53. self.assertEquals('oscar-keyword-promotion-click', match.url_name)