test_views.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import datetime
  2. from django.contrib.auth import get_user_model
  3. from django.test import TestCase
  4. from ..models import Cost, Document, Good, Service, GoodUse, CostUse
  5. User = get_user_model()
  6. class ViewsTests(TestCase):
  7. def setUp(self):
  8. user = User(username='user', is_staff=True, is_active=True)
  9. user.set_password('password')
  10. user.save()
  11. self.doc = Document.objects.create(name='budget')
  12. rent = Cost.objects.create(name='Rent', price=100, document=self.doc)
  13. server = Good.objects.create(
  14. name='Server',
  15. price=1000,
  16. provisioning_duration=datetime.timedelta(days=36*20.6),
  17. document=self.doc,
  18. )
  19. vpn = Service.objects.create(name='VPN', document=self.doc)
  20. GoodUse.objects.create(resource=server, service=vpn, share=0.5)
  21. CostUse.objects.create(resource=rent, service=vpn, share=0.5)
  22. def test_detail_service(self):
  23. assert self.client.login(username='user', password='password')
  24. response = self.client.get('/costs/services/1')
  25. self.assertEqual(response.status_code, 200)