updated tests
This commit is contained in:
@ -11,66 +11,66 @@ class TestEditsRecipe(TestViews):
|
||||
internal_recipe = Recipe.objects.create(
|
||||
name='Test',
|
||||
internal=True,
|
||||
created_by=auth.get_user(self.client)
|
||||
created_by=auth.get_user(self.user_client_1)
|
||||
)
|
||||
|
||||
external_recipe = Recipe.objects.create(
|
||||
name='Test',
|
||||
internal=False,
|
||||
created_by=auth.get_user(self.client)
|
||||
created_by=auth.get_user(self.user_client_1)
|
||||
)
|
||||
|
||||
url = reverse('edit_recipe', args=[internal_recipe.pk])
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.get(r.url)
|
||||
r = self.user_client_1.get(r.url)
|
||||
self.assertTemplateUsed(r, 'forms/edit_internal_recipe.html')
|
||||
|
||||
url = reverse('edit_recipe', args=[external_recipe.pk])
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.get(r.url)
|
||||
r = self.user_client_1.get(r.url)
|
||||
self.assertTemplateUsed(r, 'generic/edit_template.html')
|
||||
|
||||
def test_convert_recipe(self):
|
||||
url = reverse('edit_convert_recipe', args=[42])
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 404)
|
||||
|
||||
external_recipe = Recipe.objects.create(
|
||||
name='Test',
|
||||
internal=False,
|
||||
created_by=auth.get_user(self.client)
|
||||
created_by=auth.get_user(self.user_client_1)
|
||||
)
|
||||
|
||||
url = reverse('edit_convert_recipe', args=[external_recipe.pk])
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
recipe = Recipe.objects.get(pk=external_recipe.pk)
|
||||
self.assertTrue(recipe.internal)
|
||||
|
||||
url = reverse('edit_convert_recipe', args=[recipe.pk])
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
def test_internal_recipe_update(self):
|
||||
recipe = Recipe.objects.create(
|
||||
name='Test',
|
||||
created_by=auth.get_user(self.client)
|
||||
created_by=auth.get_user(self.user_client_1)
|
||||
)
|
||||
|
||||
url = reverse('edit_internal_recipe', args=[recipe.pk])
|
||||
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.anonymous_client.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.post(url, {'name': 'Changed', 'working_time': 15, 'waiting_time': 15, 'ingredients': '[]'})
|
||||
r = self.user_client_1.post(url, {'name': 'Changed', 'working_time': 15, 'waiting_time': 15, 'ingredients': '[]'})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
recipe = Recipe.objects.get(pk=recipe.pk)
|
||||
@ -79,30 +79,30 @@ class TestEditsRecipe(TestViews):
|
||||
Ingredient.objects.create(name='Egg')
|
||||
Unit.objects.create(name='g')
|
||||
|
||||
r = self.client.post(url,
|
||||
r = self.user_client_1.post(url,
|
||||
{'name': 'Changed', 'working_time': 15, 'waiting_time': 15,
|
||||
'ingredients': '[{"ingredient__name":"Tomato","unit__name":"g","amount":100,"delete":false},{"ingredient__name":"Egg","unit__name":"Piece","amount":"2,5","delete":false}]'})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(2, RecipeIngredient.objects.filter(recipe=recipe).count())
|
||||
|
||||
r = self.client.post(url,
|
||||
r = self.user_client_1.post(url,
|
||||
{'name': "Test", 'working_time': "Test", 'waiting_time': 15,
|
||||
'ingredients': '[{"ingredient__name":"Tomato","unit__name":"g","amount":100,"delete":false},{"ingredient__name":"Egg","unit__name":"Piece","amount":"2,5","delete":false}]'})
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
with open('cookbook/tests/resources/image.jpg', 'rb') as file:
|
||||
r = self.client.post(url, {'name': "Changed", 'working_time': 15, 'waiting_time': 15, 'image': file})
|
||||
r = self.user_client_1.post(url, {'name': "Changed", 'working_time': 15, 'waiting_time': 15, 'image': file})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
with open('cookbook/tests/resources/image.png', 'rb') as file:
|
||||
r = self.client.post(url, {'name': "Changed", 'working_time': 15, 'waiting_time': 15, 'image': file})
|
||||
r = self.user_client_1.post(url, {'name': "Changed", 'working_time': 15, 'waiting_time': 15, 'image': file})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
def test_external_recipe_update(self):
|
||||
storage = Storage.objects.create(
|
||||
name='TestStorage',
|
||||
method=Storage.DROPBOX,
|
||||
created_by=auth.get_user(self.client),
|
||||
created_by=auth.get_user(self.user_client_1),
|
||||
token='test',
|
||||
username='test',
|
||||
password='test',
|
||||
@ -110,19 +110,19 @@ class TestEditsRecipe(TestViews):
|
||||
|
||||
recipe = Recipe.objects.create(
|
||||
name='Test',
|
||||
created_by=auth.get_user(self.client),
|
||||
created_by=auth.get_user(self.user_client_1),
|
||||
storage=storage,
|
||||
)
|
||||
|
||||
url = reverse('edit_external_recipe', args=[recipe.pk])
|
||||
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.anonymous_client.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.post(url, {'name': 'Test', 'working_time': 15, 'waiting_time': 15, })
|
||||
r = self.user_client_1.post(url, {'name': 'Test', 'working_time': 15, 'waiting_time': 15, })
|
||||
recipe.refresh_from_db()
|
||||
self.assertEqual(recipe.working_time, 15)
|
||||
self.assertEqual(recipe.waiting_time, 15)
|
||||
|
@ -7,33 +7,40 @@ from cookbook.tests.views.test_views import TestViews
|
||||
|
||||
class TestEditsRecipe(TestViews):
|
||||
|
||||
def test_edit_storage(self):
|
||||
storage = Storage.objects.create(
|
||||
def setUp(self):
|
||||
super(TestEditsRecipe, self).setUp()
|
||||
|
||||
self.storage = Storage.objects.create(
|
||||
name='TestStorage',
|
||||
method=Storage.DROPBOX,
|
||||
created_by=auth.get_user(self.client),
|
||||
created_by=auth.get_user(self.admin_client_1),
|
||||
token='test',
|
||||
username='test',
|
||||
password='test',
|
||||
)
|
||||
self.url = reverse('edit_storage', args=[self.storage.pk])
|
||||
|
||||
url = reverse('edit_storage', args=[storage.pk])
|
||||
r = self.anonymous_client.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
def test_edit_storage(self):
|
||||
r = self.admin_client_1.post(self.url, {'name': 'NewStorage', 'password': '1234_pw', 'token': '1234_token', 'method': Storage.DROPBOX})
|
||||
self.storage.refresh_from_db()
|
||||
self.assertEqual(self.storage.password, '1234_pw')
|
||||
self.assertEqual(self.storage.token, '1234_token')
|
||||
|
||||
r = self.another_client.get(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.superuser_client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.client.post(url, {'name': 'NewStorage', 'password': '1234_pw', 'token': '1234_token', 'method': Storage.DROPBOX})
|
||||
storage.refresh_from_db()
|
||||
self.assertEqual(storage.password, '1234_pw')
|
||||
self.assertEqual(storage.token, '1234_token')
|
||||
|
||||
r = self.client.post(url, {'name': 'NewStorage', 'password': '1234_pw', 'token': '1234_token', 'method': 'not_a_valid_method'})
|
||||
r = self.admin_client_1.post(self.url, {'name': 'NewStorage', 'password': '1234_pw', 'token': '1234_token', 'method': 'not_a_valid_method'})
|
||||
self.assertFormError(r, 'form', 'method', ['Select a valid choice. not_a_valid_method is not one of the available choices.'])
|
||||
|
||||
def test_edit_storage_permissions(self):
|
||||
r = self.anonymous_client.get(self.url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.guest_client_1.get(self.url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.user_client_1.get(self.url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.admin_client_1.get(self.url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.superuser_client.get(self.url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
@ -4,24 +4,35 @@ from django.test import TestCase, Client
|
||||
|
||||
|
||||
class TestBase(TestCase):
|
||||
user_client_1 = None
|
||||
user_client_2 = None
|
||||
admin_client_1 = None
|
||||
admin_client_2 = None
|
||||
guest_client_1 = None
|
||||
guest_client_2 = None
|
||||
superuser_client = None
|
||||
|
||||
def create_login_user(self, name, group):
|
||||
client = Client()
|
||||
setattr(self, name, client)
|
||||
client.force_login(User.objects.get_or_create(username=name)[0])
|
||||
user = auth.get_user(getattr(self, name))
|
||||
user.groups.add(Group.objects.get(name=group))
|
||||
self.assertTrue(user.is_authenticated)
|
||||
return user
|
||||
|
||||
def setUp(self):
|
||||
self.create_login_user('admin_client_1', 'admin')
|
||||
self.create_login_user('admin_client_2', 'admin')
|
||||
|
||||
self.create_login_user('user_client_1', 'user')
|
||||
self.create_login_user('user_client_2', 'user')
|
||||
|
||||
self.create_login_user('guest_client_1', 'guest')
|
||||
self.create_login_user('guest_client_2', 'guest')
|
||||
|
||||
self.anonymous_client = Client()
|
||||
|
||||
self.client = Client()
|
||||
self.client.force_login(User.objects.get_or_create(username='client')[0])
|
||||
user = auth.get_user(self.client)
|
||||
user.groups.add(Group.objects.get(name='admin'))
|
||||
self.assertTrue(user.is_authenticated)
|
||||
|
||||
self.another_client = Client()
|
||||
self.another_client.force_login(User.objects.get_or_create(username='another_client')[0])
|
||||
user = auth.get_user(self.another_client)
|
||||
user.groups.add(Group.objects.get(name='admin'))
|
||||
self.assertTrue(user.is_authenticated)
|
||||
|
||||
self.superuser_client = Client()
|
||||
self.superuser_client.force_login(User.objects.get_or_create(username='superuser_client', is_superuser=True)[0])
|
||||
user = auth.get_user(self.superuser_client)
|
||||
user.groups.add(Group.objects.get(name='admin'))
|
||||
self.assertTrue(user.is_authenticated)
|
||||
user = self.create_login_user('superuser_client', 'admin')
|
||||
user.is_superuser = True
|
||||
user.save()
|
||||
|
@ -6,7 +6,7 @@ from cookbook.tests.views.test_views import TestViews
|
||||
class TestViewsGeneral(TestViews):
|
||||
|
||||
def test_index(self):
|
||||
r = self.client.get(reverse('index'))
|
||||
r = self.user_client_1.get(reverse('index'))
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.anonymous_client.get(reverse('index'))
|
||||
@ -14,7 +14,7 @@ class TestViewsGeneral(TestViews):
|
||||
|
||||
def test_books(self):
|
||||
url = reverse('view_books')
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.anonymous_client.get(url)
|
||||
@ -22,7 +22,7 @@ class TestViewsGeneral(TestViews):
|
||||
|
||||
def test_plan(self):
|
||||
url = reverse('view_plan')
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.anonymous_client.get(url)
|
||||
@ -30,7 +30,7 @@ class TestViewsGeneral(TestViews):
|
||||
|
||||
def test_shopping(self):
|
||||
url = reverse('view_shopping')
|
||||
r = self.client.get(url)
|
||||
r = self.user_client_1.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
r = self.anonymous_client.get(url)
|
||||
|
Reference in New Issue
Block a user