diff options
Diffstat (limited to 'apps/notes/tests')
-rw-r--r-- | apps/notes/tests/test_forms.py | 17 | ||||
-rw-r--r-- | apps/notes/tests/test_urls.py | 75 |
2 files changed, 92 insertions, 0 deletions
diff --git a/apps/notes/tests/test_forms.py b/apps/notes/tests/test_forms.py new file mode 100644 index 0000000..a9b2a7d --- /dev/null +++ b/apps/notes/tests/test_forms.py @@ -0,0 +1,17 @@ +from django.test import TestCase +from notes.forms import NoteForm + + +class NoteFormTests(TestCase): + def test_forms(self): + form_data = { + 'title': 'My Note', + 'body_text': 'Body of the note', + 'body_html': '<p>Body of the note</p>', + 'body_qjson': '', + 'notebook': '', + 'url': '', + 'tags': 'three word tag, tag' + } + form = NoteForm(data=form_data) + self.assertTrue(form.is_valid()) diff --git a/apps/notes/tests/test_urls.py b/apps/notes/tests/test_urls.py new file mode 100644 index 0000000..e4fee57 --- /dev/null +++ b/apps/notes/tests/test_urls.py @@ -0,0 +1,75 @@ +from django.urls import reverse, resolve +from django.test import TestCase +from django.contrib import auth + +from mixer.backend.django import mixer + +from notes.models import Note + +User = auth.get_user_model() + + +class TestNotesURLs(TestCase): + """Test URL patterns for notes.""" + + def setUp(self): + self.user = mixer.blend(User, username='tpynchon') + self.note = Note.objects.create( + owner=self.user, + title="test note", + body_text="the body of the note", + url="https://luxagraf.net/", + tags="mine,cool site" + ) + self.note.save() + + def test_list_reverse(self): + """notes:list should reverse to /n/.""" + self.assertEqual(reverse('notes:list'), '/n/') + + def test_list_resolve(self): + """/n/ should resolve to notes:list.""" + self.assertEqual(resolve('/n/').view_name, 'notes:list') + + def test_detail_reverse(self): + """notes:detail should reverse to /n/slug/id""" + path = '/n/%s/%s' % (self.note.slug, self.note.pk) + self.assertEqual( + reverse('notes:detail', kwargs={'slug': self.note.slug, 'pk': self.note.pk}), path + ) + + def test_detail_resolve(self): + """/n/test-note/1 should resolve to notes:detail.""" + self.assertEqual(resolve('/n/test-note/1').view_name, 'notes:detail') + + def test_create_reverse(self): + """notes:create should reverse to /n/create/.""" + self.assertEqual(reverse('notes:create'), '/n/create/') + + def test_create_resolve(self): + """/n/create/ should resolve to notes:create""" + self.assertEqual( + resolve('/n/create/').view_name, + 'notes:create' + ) + + +class TestNotebooksURLs(TestCase): + """Test URL patterns for notebooks.""" + + def test_list_reverse(self): + """notebooks:list should reverse to /nb/.""" + self.assertEqual(reverse('notebooks:list'), '/nb/') + + def test_list_resolve(self): + """/n/ should resolve to notes:list.""" + self.assertEqual(resolve('/nb/').view_name, 'notebooks:list') + + def test_detail_reverse(self): + """notes:detail should reverse to /nb/slug""" + self.assertEqual(reverse('notebooks:detail', kwargs={'slug': 'test-notebook'}), '/nb/test-notebook') + + def test_detail_resolve(self): + """/n/test-note/1 should resolve to notes:detail.""" + self.assertEqual(resolve('/nb/test-notebook').view_name, 'notebooks:detail') + |