Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

dashboard_tests.py 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from decimal import Decimal as D
  2. from django.core.urlresolvers import reverse
  3. from oscar.apps.dashboard.views import IndexView
  4. from oscar.test import ClientTestCase
  5. from oscar.test.helpers import create_order
  6. class AnonymousUserTests(ClientTestCase):
  7. is_anonymous = True
  8. def test_login_form_is_displayed_for_anon_user(self):
  9. response = self.client.get(reverse('dashboard:index'), follow=True)
  10. self.assertContains(response, 'login-username', status_code=200)
  11. class DashboardViewTests(ClientTestCase):
  12. is_staff = True
  13. def test_dashboard_index_is_for_staff_only(self):
  14. urls = ('dashboard:index',
  15. 'dashboard:order-list',
  16. 'dashboard:users-index',)
  17. for name in urls:
  18. response = self.client.get(reverse(name))
  19. self.assertTrue('Password' not in response.content)
  20. def test_dashboard_hourly_report_with_no_orders(self):
  21. report = IndexView().get_hourly_report()
  22. self.assertItemsEqual(report, ['order_total_hourly', 'max_revenue',
  23. 'y_range'])
  24. self.assertEquals(len(report['order_total_hourly']), 24)
  25. self.assertEquals(len(report['y_range']), 0)
  26. self.assertEquals(report['max_revenue'], 0)
  27. def test_dashboard_hourly_report_with_orders(self):
  28. create_order(total_incl_tax=D('34.05'), total_excl_tax=D('34.05'))
  29. create_order(total_incl_tax=D('21.90'), total_excl_tax=D('21.90'))
  30. report = IndexView().get_hourly_report()
  31. self.assertEquals(len(report['order_total_hourly']), 24)
  32. self.assertEquals(len(report['y_range']), 11)
  33. self.assertEquals(report['max_revenue'], D('60'))
  34. def test_dashboard_index_has_stats_vars_in_context(self):
  35. response = self.client.get(reverse('dashboard:index'))
  36. self.assertInContext(response, 'total_orders_last_day')
  37. self.assertInContext(response, 'total_lines_last_day')
  38. self.assertInContext(response, 'average_order_costs')
  39. self.assertInContext(response, 'total_revenue_last_day')
  40. self.assertInContext(response, 'hourly_report_dict')
  41. self.assertInContext(response, 'total_products')
  42. self.assertInContext(response, 'total_open_stock_alerts')
  43. self.assertInContext(response, 'total_closed_stock_alerts')
  44. self.assertInContext(response, 'total_site_offers')
  45. self.assertInContext(response, 'total_vouchers')
  46. self.assertInContext(response, 'total_orders')
  47. self.assertInContext(response, 'total_lines')
  48. self.assertInContext(response, 'total_revenue')
  49. self.assertInContext(response, 'order_status_breakdown')