continue refactoring tests
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
46a6b4e3d4
commit
24d8edec19
5 changed files with 80 additions and 84 deletions
|
@ -1,24 +1,42 @@
|
|||
from toolshed.models import Category, Tag, Property, InventoryItem, ItemProperty
|
||||
|
||||
|
||||
class InventoryTestMixin:
|
||||
def prepare_inventory(self):
|
||||
self.f['local_user1'].friends.add(self.f['local_user2'].public_identity)
|
||||
class CategoryTestMixin:
|
||||
def prepare_categories(self):
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat2'] = Category.objects.create(name='cat2')
|
||||
self.f['tag1'] = Tag.objects.create(name='tag1', category=self.f['cat1'])
|
||||
self.f['tag2'] = Tag.objects.create(name='tag2', category=self.f['cat1'])
|
||||
self.f['tag3'] = Tag.objects.create(name='tag3')
|
||||
self.f['prop1'] = Property.objects.create(name='prop1')
|
||||
self.f['prop2'] = Property.objects.create(name='prop2')
|
||||
self.f['prop3'] = Property.objects.create(name='prop3', category=self.f['cat1'])
|
||||
self.f['cat3'] = Category.objects.create(name='cat3')
|
||||
self.f['subcat1'] = Category.objects.create(name='subcat1', parent=self.f['cat1'])
|
||||
self.f['subcat2'] = Category.objects.create(name='subcat2', parent=self.f['cat1'])
|
||||
self.f['subcat3'] = Category.objects.create(name='subcat3', parent=self.f['subcat1'])
|
||||
|
||||
self.f['item1'] = InventoryItem.objects.create(owner=self.f['local_user1'], owned_quantity=1, name='test1',
|
||||
description='test',
|
||||
category=self.f['cat1'], availability_policy='friends')
|
||||
self.f['item2'] = InventoryItem.objects.create(owner=self.f['local_user1'], owned_quantity=1, name='test2',
|
||||
description='test2',
|
||||
category=self.f['cat1'], availability_policy='friends')
|
||||
|
||||
class TagTestMixin:
|
||||
def prepare_tags(self):
|
||||
self.f['tag1'] = Tag.objects.create(name='tag1', description='tag1 description', category=self.f['cat1'])
|
||||
self.f['tag2'] = Tag.objects.create(name='tag2', description='tag2 description', category=self.f['cat1'])
|
||||
self.f['tag3'] = Tag.objects.create(name='tag3')
|
||||
|
||||
|
||||
class PropertyTestMixin:
|
||||
def prepare_properties(self):
|
||||
self.f['prop1'] = Property.objects.create(name='prop1')
|
||||
self.f['prop2'] = Property.objects.create(
|
||||
name='prop2', description='prop2 description', category=self.f['cat1'])
|
||||
self.f['prop3'] = Property.objects.create(
|
||||
name='prop3', description='prop3 description', category=self.f['cat1'])
|
||||
|
||||
|
||||
class InventoryTestMixin(CategoryTestMixin, TagTestMixin, PropertyTestMixin):
|
||||
def prepare_inventory(self):
|
||||
self.f['local_user1'].friends.add(self.f['local_user2'].public_identity)
|
||||
|
||||
self.f['item1'] = InventoryItem.objects.create(
|
||||
owner=self.f['local_user1'], owned_quantity=1, name='test1', description='test', category=self.f['cat1'],
|
||||
availability_policy='friends')
|
||||
self.f['item2'] = InventoryItem.objects.create(
|
||||
owner=self.f['local_user1'], owned_quantity=1, name='test2', description='test2', category=self.f['cat1'],
|
||||
availability_policy='friends')
|
||||
self.f['item2'].tags.add(self.f['tag1'], through_defaults={})
|
||||
self.f['item2'].tags.add(self.f['tag2'], through_defaults={})
|
||||
ItemProperty.objects.create(inventory_item=self.f['item2'], property=self.f['prop1'], value='value1').save()
|
||||
|
|
|
@ -1,55 +1,43 @@
|
|||
from authentication.tests import SignatureAuthClient, UserTestMixin, ToolshedTestCase
|
||||
from toolshed.models import Category
|
||||
from toolshed.tests import CategoryTestMixin
|
||||
|
||||
client = SignatureAuthClient()
|
||||
|
||||
|
||||
class CategoryTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class CategoryTestCase(CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['cat2'] = Category.objects.create(name='cat2')
|
||||
self.f['cat2'].save()
|
||||
self.f['cat3'] = Category.objects.create(name='cat3')
|
||||
self.f['cat3'].save()
|
||||
self.prepare_categories()
|
||||
|
||||
def test_get_categories(self):
|
||||
subcat1 = Category.objects.create(name='subcat1', parent=self.f['cat1'])
|
||||
subcat1.save()
|
||||
subcat2 = Category.objects.create(name='subcat2', parent=self.f['cat1'])
|
||||
subcat2.save()
|
||||
subcat3 = Category.objects.create(name='subcat3', parent=subcat1)
|
||||
subcat3.save()
|
||||
self.assertEqual(self.f['cat1'].children.count(), 2)
|
||||
self.assertEqual(self.f['cat1'].children.first(), subcat1)
|
||||
self.assertEqual(self.f['cat1'].children.last(), subcat2)
|
||||
self.assertEqual(subcat1.parent, self.f['cat1'])
|
||||
self.assertEqual(subcat2.parent, self.f['cat1'])
|
||||
self.assertEqual(subcat3.parent, subcat1)
|
||||
self.assertEqual(str(subcat1), 'cat1/subcat1')
|
||||
self.assertEqual(str(subcat2), 'cat1/subcat2')
|
||||
self.assertEqual(str(subcat3), 'cat1/subcat1/subcat3')
|
||||
self.assertEqual(self.f['cat1'].children.first(), self.f['subcat1'])
|
||||
self.assertEqual(self.f['cat1'].children.last(), self.f['subcat2'])
|
||||
self.assertEqual(self.f['subcat1'].parent, self.f['cat1'])
|
||||
self.assertEqual(self.f['subcat2'].parent, self.f['cat1'])
|
||||
self.assertEqual(self.f['subcat1'].children.count(), 1)
|
||||
self.assertEqual(str(self.f['subcat1']), 'cat1/subcat1')
|
||||
self.assertEqual(str(self.f['subcat2']), 'cat1/subcat2')
|
||||
self.assertEqual(str(self.f['subcat3']), 'cat1/subcat1/subcat3')
|
||||
|
||||
|
||||
class CategoryApiTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class CategoryApiTestCase(CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['cat2'] = Category.objects.create(name='cat2')
|
||||
self.f['cat2'].save()
|
||||
self.f['cat3'] = Category.objects.create(name='cat3')
|
||||
self.f['cat3'].save()
|
||||
self.prepare_categories()
|
||||
|
||||
def test_get_categories(self):
|
||||
reply = client.get('/api/categories/', self.f['local_user1'])
|
||||
self.assertEqual(reply.status_code, 200)
|
||||
self.assertEqual(len(reply.json()), 3)
|
||||
self.assertEqual(len(reply.json()), 6)
|
||||
self.assertEqual(reply.json()[0], 'cat1')
|
||||
self.assertEqual(reply.json()[1], 'cat2')
|
||||
self.assertEqual(reply.json()[2], 'cat3')
|
||||
self.assertEqual(reply.json()[3], 'cat1/subcat1')
|
||||
self.assertEqual(reply.json()[4], 'cat1/subcat2')
|
||||
self.assertEqual(reply.json()[5], 'cat1/subcat1/subcat3')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from authentication.tests import SignatureAuthClient, UserTestMixin, ToolshedTestCase
|
||||
from toolshed.models import InventoryItem, Category
|
||||
from toolshed.tests import InventoryTestMixin
|
||||
from toolshed.tests import InventoryTestMixin, CategoryTestMixin, TagTestMixin, PropertyTestMixin
|
||||
|
||||
client = SignatureAuthClient()
|
||||
|
||||
|
@ -10,6 +10,9 @@ class InventoryTestCase(UserTestMixin, InventoryTestMixin, ToolshedTestCase):
|
|||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.prepare_categories()
|
||||
self.prepare_tags()
|
||||
self.prepare_properties()
|
||||
self.prepare_inventory()
|
||||
|
||||
def test_get_inventory(self):
|
||||
|
|
|
@ -1,22 +1,17 @@
|
|||
from authentication.tests import SignatureAuthClient, UserTestMixin, ToolshedTestCase
|
||||
from toolshed.models import Property, Category
|
||||
from toolshed.models import Property
|
||||
from toolshed.tests import PropertyTestMixin, CategoryTestMixin
|
||||
|
||||
client = SignatureAuthClient()
|
||||
|
||||
|
||||
class PropertyTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class PropertyTestCase(PropertyTestMixin, CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['prop1'] = Property.objects.create(name='prop1')
|
||||
self.f['prop1'].save()
|
||||
self.f['prop2'] = Property.objects.create(name='prop2', description='prop2 description', category=self.f['cat1'])
|
||||
self.f['prop2'].save()
|
||||
self.f['prop3'] = Property.objects.create(name='prop3', description='prop3 description', category=self.f['cat1'])
|
||||
self.f['prop3'].save()
|
||||
self.prepare_categories()
|
||||
self.prepare_properties()
|
||||
|
||||
def test_properties(self):
|
||||
self.assertEqual(len(Property.objects.all()), 3)
|
||||
|
@ -37,21 +32,24 @@ class PropertyTestCase(UserTestMixin, ToolshedTestCase):
|
|||
self.assertEqual(self.f['cat1'].properties.last(), self.f['prop3'])
|
||||
|
||||
|
||||
class PropertyApiTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class PropertyApiTestCase(PropertyTestMixin, CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['cat2'] = Category.objects.create(name='cat2')
|
||||
self.f['cat2'].save()
|
||||
self.f['cat3'] = Category.objects.create(name='cat3')
|
||||
self.f['cat3'].save()
|
||||
self.prepare_categories()
|
||||
self.prepare_properties()
|
||||
|
||||
def test_get_properties(self):
|
||||
reply = client.get('/api/properties/', self.f['local_user1'])
|
||||
self.assertEqual(reply.status_code, 200)
|
||||
self.assertEqual(len(reply.json()), 0)
|
||||
prop1 = Property.objects.create(name='prop1')
|
||||
prop1.save()
|
||||
self.assertEqual(len(reply.json()), 3)
|
||||
self.assertEqual(reply.json()[0]['name'], 'prop1')
|
||||
self.assertEqual(reply.json()[0]['description'], None)
|
||||
self.assertEqual(reply.json()[0]['category'], None)
|
||||
self.assertEqual(reply.json()[1]['name'], 'prop2')
|
||||
self.assertEqual(reply.json()[1]['description'], 'prop2 description')
|
||||
self.assertEqual(reply.json()[1]['category'], 'cat1')
|
||||
self.assertEqual(reply.json()[2]['name'], 'prop3')
|
||||
self.assertEqual(reply.json()[2]['description'], 'prop3 description')
|
||||
self.assertEqual(reply.json()[2]['category'], 'cat1')
|
||||
|
|
|
@ -1,22 +1,17 @@
|
|||
from authentication.tests import SignatureAuthClient, UserTestMixin, ToolshedTestCase
|
||||
from toolshed.models import Tag, Category
|
||||
from toolshed.models import Tag
|
||||
from toolshed.tests import TagTestMixin, CategoryTestMixin
|
||||
|
||||
client = SignatureAuthClient()
|
||||
|
||||
|
||||
class TagTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class TagTestCase(TagTestMixin, CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['tag1'] = Tag.objects.create(name='tag1', description='tag1 description', category=self.f['cat1'])
|
||||
self.f['tag1'].save()
|
||||
self.f['tag2'] = Tag.objects.create(name='tag2', description='tag2 description', category=self.f['cat1'])
|
||||
self.f['tag2'].save()
|
||||
self.f['tag3'] = Tag.objects.create(name='tag3')
|
||||
self.f['tag3'].save()
|
||||
self.prepare_categories()
|
||||
self.prepare_tags()
|
||||
|
||||
def test_tags(self):
|
||||
self.assertEqual(len(Tag.objects.all()), 3)
|
||||
|
@ -37,19 +32,13 @@ class TagTestCase(UserTestMixin, ToolshedTestCase):
|
|||
self.assertEqual(self.f['cat1'].tags.last(), self.f['tag2'])
|
||||
|
||||
|
||||
class TagApiTestCase(UserTestMixin, ToolshedTestCase):
|
||||
class TagApiTestCase(TagTestMixin, CategoryTestMixin, UserTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
self.f['cat1'] = Category.objects.create(name='cat1')
|
||||
self.f['cat1'].save()
|
||||
self.f['tag1'] = Tag.objects.create(name='tag1', description='tag1 description', category=self.f['cat1'])
|
||||
self.f['tag1'].save()
|
||||
self.f['tag2'] = Tag.objects.create(name='tag2', description='tag2 description', category=self.f['cat1'])
|
||||
self.f['tag2'].save()
|
||||
self.f['tag3'] = Tag.objects.create(name='tag3')
|
||||
self.f['tag3'].save()
|
||||
self.prepare_categories()
|
||||
self.prepare_tags()
|
||||
|
||||
def test_get_tags(self):
|
||||
reply = client.get('/api/tags/', self.f['local_user1'])
|
||||
|
|
Loading…
Reference in a new issue