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
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/'
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
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
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
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'
def test_get_template_names_default(self): view = LegaltextView() view.object = LegalTextFactory.create(slug='foo') assert view.get_template_names() == 'legaltext/content.html'
def test_url_name_is_not_unique_with_none(self): LegalTextFactory.create(url_name=None) LegalTextFactory.create(url_name=None)
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
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')
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/'
def test_str(self): legal_text = LegalTextFactory.create(name='Foo Bar Text') assert str(legal_text) == 'Foo Bar Text'
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
def test_url_name_is_unique_with_blank(self): LegalTextFactory.create(url_name='') with pytest.raises(IntegrityError): LegalTextFactory.create(url_name='')
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())