示例#1
0
 def test_get_template_names_override(self, settings):
     settings.LEGALTEXT_VIEW_TEMPLATE_OVERRIDES = {'bar': 'baz.html'}
     view = LegaltextView()
     view.object = LegalTextFactory.create(slug='foo')
     assert view.get_template_names() == 'legaltext/content.html'
     view = LegaltextView()
     view.object = LegalTextFactory.create(slug='bar')
     assert view.get_template_names() == 'baz.html'
    def test_slug_and_url_name(self):
        LegalTextFactory.create(slug='foo-bar-test', url_name='eggs')
        expected = '/eggs/'
        template = Template('{% load legaltext_tags %}{% legaltext_url "foo-bar-test" %}')
        context = Context({})

        rendered = template.render(context)

        assert rendered == expected
    def test_url_name_as_variable_not_rendered(self):
        LegalTextFactory.create(slug='foo-bar-test', url_name='eggs')
        template = Template(
            '{% load legaltext_tags %}{% legaltext_url "eggs" as my_url %}')
        context = Context({})

        rendered = template.render(context)

        assert rendered == ''
    def test_slug_as_variable(self):
        LegalTextFactory.create(slug='foo-bar-test')
        expected = '/foo-bar-test/'
        template = Template(
            '{% load legaltext_tags %}{% legaltext_url "foo-bar-test" as my_url %}'
            '{{ my_url }}')
        context = Context({})

        rendered = template.render(context)

        assert rendered == expected
示例#5
0
    def test_get_with_url_name(self, client):
        test_slug = 'test-foo-bar'
        LegalTextFactory.create(slug=test_slug, url_name='foobar')
        url = reverse('legaltext', kwargs={'slug': 'foobar'})
        response = client.get(url)

        assert response.status_code == 200
        assert isinstance(response.context['current_version'],
                          LegalTextVersion)
        assert response.context['current_version'].legaltext.slug == test_slug
        assert url == '/foobar/'
示例#6
0
 def test_get_current_version_no_version_yet(self):
     legal_text = LegalTextFactory.create(name='Foo Bar Text')
     version = legal_text.get_current_version()
     assert isinstance(version, LegalTextVersion)
     assert version.legaltext.slug == 'foo-bar-text'
     assert version.legaltext.name == 'Foo Bar Text'
     assert version.content == ''
     assert version.checkboxes.count() == 1
示例#7
0
    def test_current_version(self):
        legal_text = LegalTextFactory.create(name='Foo Bar Text', slug='foo-bar')

        LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2015, 1, 1, 10, 0)))
        version_present = LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2016, 1, 1, 10, 0)))
        LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2017, 1, 1, 10, 0)))

        version = LegalText.current_version('foo-bar')

        assert version.legaltext.slug == 'foo-bar'
        assert version.legaltext.name == 'Foo Bar Text'
        assert version.pk == version_present.pk
示例#8
0
    def test_get_current_version(self):
        legal_text = LegalTextFactory.create(name='Foo Bar Text', slug='foo-bar-test')

        LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2015, 1, 1, 10, 0)),
            content='Test content 1')
        version_present = LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2016, 1, 1, 10, 0)),
            content='Test content 2')
        LegalTextVersionFactory.create(
            legaltext=legal_text,
            valid_from=timezone.make_aware(datetime(2017, 1, 1, 10, 0)),
            content='Test content 3')

        version = legal_text.get_current_version()
        assert isinstance(version, LegalTextVersion)
        assert version.legaltext.slug == 'foo-bar-test'
        assert version.legaltext.name == 'Foo Bar Text'
        assert version.content == 'Test content 2'
        assert version.pk == version_present.pk
示例#9
0
 def test_get_template_names_custom(self, settings):
     settings.LEGALTEXT_VIEW_TEMPLATE = 'bar.html'
     view = LegaltextView()
     view.object = LegalTextFactory.create(slug='foo')
     assert view.get_template_names() == 'bar.html'
示例#10
0
 def test_get_template_names_default(self):
     view = LegaltextView()
     view.object = LegalTextFactory.create(slug='foo')
     assert view.get_template_names() == 'legaltext/content.html'
示例#11
0
 def test_url_name_is_not_unique_with_none(self):
     LegalTextFactory.create(url_name=None)
     LegalTextFactory.create(url_name=None)
示例#12
0
 def test_current_version_link(self):
     legal_text = LegalTextFactory.create()
     html = self.modeladmin.current_version_link(legal_text)
     assert '/legaltextversion/{0}/change/'.format(
         legal_text.get_current_version().pk) in html
示例#13
0
 def test_url_name_is_unique(self):
     LegalTextFactory.create(url_name='foo-bar-test')
     with pytest.raises(IntegrityError):
         LegalTextFactory.create(url_name='foo-bar-test')
示例#14
0
 def test_get_absolute_url(self):
     legal_text = LegalTextFactory.create(name='Foo Bar Text', slug='foo-bar-test')
     assert legal_text.get_absolute_url() == '/foo-bar-test/'
示例#15
0
 def test_str(self):
     legal_text = LegalTextFactory.create(name='Foo Bar Text')
     assert str(legal_text) == 'Foo Bar Text'
示例#16
0
 def test_add_new_version_link(self):
     legal_text = LegalTextFactory.create()
     html = self.modeladmin.add_new_version_link(legal_text)
     assert '/legaltextversion/add/?legaltext={0}'.format(
         legal_text.pk) in html
示例#17
0
 def test_url_name_is_unique_with_blank(self):
     LegalTextFactory.create(url_name='')
     with pytest.raises(IntegrityError):
         LegalTextFactory.create(url_name='')
示例#18
0
 def test_readonly_fields(self, rf):
     assert 'slug' not in self.modeladmin.get_readonly_fields(
         rf.get('/'), None)
     assert 'slug' in self.modeladmin.get_readonly_fields(
         rf.get('/'), LegalTextFactory.create())