Exemplo n.º 1
0
 def test_creation_of_fragments_without_title(self):
     Fragment.objects.all().delete()
     self.assert_counts([0], [Fragment])
     fragment1 = Fragment(
         content='test'
     )
     fragment1.save()
     self.assert_counts([1], [Fragment])
     self.assert_equal(fragment1.title, '')
     self.assert_equal(fragment1.content, 'test')
Exemplo n.º 2
0
 def test_creation_of_fragments_without_content(self):
     Fragment.objects.all().delete()
     self.assert_counts([0], [Fragment])
     fragment2 = Fragment(
         title='fragment2',
     )
     fragment2.save()
     self.assert_counts([1], [Fragment])
     self.assert_equal(fragment2.title, 'fragment2')
     self.assert_equal(fragment2.content, '')
Exemplo n.º 3
0
 def setUp(self):
     "Execute before every test case"
     self.fragment1 = Fragment(
         title='fragment1',
         content='test'
     )
     self.fragment1.save()
     self.fragment2 = Fragment(
         title='fragment2',
         content='h2. test'
     )
     self.fragment2.save()
Exemplo n.º 4
0
 def test_fragment_admin_view_exists(self):
     Fragment.objects.all().delete()
     self.assert_counts([0], [Fragment])
     fragment1 = Fragment(
         title='fragment1',
     )
     fragment1.save()
     self.assert_counts([1], [Fragment])
     login_as_admin()
     response = self.client.get('/admin/fraggle/fragment/%s' 
         % str(fragment1.id))
     self.assert_code(response, 302)
     response = self.client.get('/admin/fraggle/fragment/%s/' 
         % str(fragment1.id))
     self.assert_code(response, 200)
Exemplo n.º 5
0
class Common(TestCase):

    def setUp(self):
        "Execute before every test case"
        self.fragment1 = Fragment(
            title='fragment1',
            content='test'
        )
        self.fragment1.save()
        self.fragment2 = Fragment(
            title='fragment2',
            content='h2. test'
        )
        self.fragment2.save()
        
    def tearDown(self):
        "Execute after every test case"
        Fragment.objects.all().delete()

    tag_libraries = []

    # helper methods
          


    def render(self, template, **kwargs):
        template = "".join(["{%% load %s %%}" % \
            lib for lib in self.tag_libraries]) + template
        return Template(template).render(Context(kwargs)).strip()

    # custom assertions
    
    def assert_code(self, response, code):
        "Assert that a given response returns a given HTTP status code"
        self.assertEqual(code, response.status_code, 
            "HTTP Response status code %d expected, but got %d" 
                % (code, response.status_code))
    
    def assert_equal(self, *args, **kwargs):
        "Assert that two values are equal"
        return self.assertEqual(*args, **kwargs)

    def assert_contains(self, needle, haystack):
        return self.assert_(needle in haystack, 
            "Content should contain `%s' but doesn't:\n%s" 
                % (needle, haystack))

    def assert_render_contains(self, expected, template, **kwargs):
        """
        Asserts than a given template and context rendering 
        contains a given fragment
        """
        self.assert_contains(expected, self.render(template, **kwargs))

    def assert_render(self, expected, template, **kwargs):
        "Asserts than a given template and context render a given fragment"
        self.assert_equal(expected, self.render(template, **kwargs))

    def assert_counts(self, expected_counts, models):
        """
        Assert than a list of numbers is equal to the number 
        of instances of a list of models
        """
        actual_counts = [model.objects.count() for model in models]
        self.assert_equal(expected_counts, actual_counts, 
            "%s should have counts %s but had %s" 
                % ([m.__name__ for m in models], 
                    expected_counts, actual_counts))