some refactoring, added Package manager for removing code duplicates, added helpers module, basic tests layout
This commit is contained in:
		
							
								
								
									
										2
									
								
								euscanwww/djeuscan/tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								euscanwww/djeuscan/tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
from .models import *
 | 
			
		||||
from .views import *
 | 
			
		||||
							
								
								
									
										38
									
								
								euscanwww/djeuscan/tests/euscan_factory.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								euscanwww/djeuscan/tests/euscan_factory.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
import factory
 | 
			
		||||
from djeuscan.models import Herd, Maintainer, Package, Version
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class HerdFactory(factory.Factory):
 | 
			
		||||
    FACTORY_FOR = Herd
 | 
			
		||||
 | 
			
		||||
    herd = 'Test Herd'
 | 
			
		||||
    email = 'herd@testherd.com'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MaintainerFactory(factory.Factory):
 | 
			
		||||
    FACTORY_FOR = Maintainer
 | 
			
		||||
 | 
			
		||||
    herd = 'Test Maintainer'
 | 
			
		||||
    email = 'maintainer@testmaintainer.com'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PackageFactory(factory.Factory):
 | 
			
		||||
    FACTORY_FOR = Package
 | 
			
		||||
 | 
			
		||||
    category = "Test Category"
 | 
			
		||||
    name = "Test Package"
 | 
			
		||||
    description = "This is a test package"
 | 
			
		||||
    homepage = "http://testpackage.com"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class VersionFactory(factory.Factory):
 | 
			
		||||
    FACTORY_FOR = Version
 | 
			
		||||
 | 
			
		||||
    package = factory.LazyAttribute(lambda a: PackageFactory())
 | 
			
		||||
    slot = "1"
 | 
			
		||||
    revision = "1"
 | 
			
		||||
    version = "0.1"
 | 
			
		||||
    packaged = True
 | 
			
		||||
    overlay = "gentoo"
 | 
			
		||||
    urls = "http://packageurl.com"
 | 
			
		||||
    alive = True
 | 
			
		||||
							
								
								
									
										22
									
								
								euscanwww/djeuscan/tests/models.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								euscanwww/djeuscan/tests/models.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
"""
 | 
			
		||||
tests for models
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
from django.utils import unittest
 | 
			
		||||
from django.db import IntegrityError
 | 
			
		||||
 | 
			
		||||
from djeuscan.tests.euscan_factory import VersionFactory, PackageFactory
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class VersionModelTests(unittest.TestCase):
 | 
			
		||||
    def test_creation(self):
 | 
			
		||||
        package = PackageFactory.build()
 | 
			
		||||
        version = VersionFactory.build(package=package)
 | 
			
		||||
        self.assertEqual(version.package, package)
 | 
			
		||||
 | 
			
		||||
    def test_not_allowed_creation(self):
 | 
			
		||||
        package = PackageFactory.create()
 | 
			
		||||
        VersionFactory.create(package=package)
 | 
			
		||||
 | 
			
		||||
        with self.assertRaises(IntegrityError):
 | 
			
		||||
            VersionFactory.create(package=package)
 | 
			
		||||
							
								
								
									
										12
									
								
								euscanwww/djeuscan/tests/views.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								euscanwww/djeuscan/tests/views.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
"""
 | 
			
		||||
tests for models
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
from django.utils import unittest
 | 
			
		||||
from django.test.client import RequestFactory
 | 
			
		||||
 | 
			
		||||
from djeuscan.views import index
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ViewsTests(unittest.TestCase):
 | 
			
		||||
    pass
 | 
			
		||||
		Reference in New Issue
	
	Block a user