| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- from http import HTTPStatus
- from django.contrib.auth import get_user_model
- from django.test import Client, TestCase
- from django.urls import reverse
- from notes.models import Note
- from notes.forms import NoteForm
- class ContentTest(TestCase):
- def test_notes_list_for_different_users(self):
- user1 = get_user_model().objects.create_user(username='user1')
- note1 = Note.objects.create(
- author=user1,
- title='Test Note',
- slug='test-note'
- )
- client = Client()
- client.force_login(user1)
- response = client.get(reverse('notes:list'))
- self.assertEqual(response.status_code, 200)
- object_list = response.context['object_list']
- self.assertEqual(len(object_list), 1)
- retrieved_note = object_list[0]
- self.assertEqual(retrieved_note.id, note1.id)
- self.assertEqual(retrieved_note.title, 'Test Note')
- self.assertEqual(retrieved_note.slug, 'test-note')
- self.assertEqual(retrieved_note.author, user1)
- def test_pages_contains_form(self):
- user1 = get_user_model().objects.create_user(username='user1')
- note1 = Note.objects.create(
- author=user1,
- title='Test Note',
- slug='test-note'
- )
- client = Client()
- client.force_login(user1)
- urls = (reverse('notes:add'), reverse('notes:edit', args=[note1.slug]))
- for url in urls:
- with self.subTest(url=url):
- response = client.get(url)
- self.assertEqual(response.status_code, 200)
- self.assertIn('form', response.context)
- form = response.context['form']
- self.assertIsInstance(form, NoteForm)
- def test_urls(self):
- user1 = get_user_model().objects.create_user(username='user1')
- note1 = Note.objects.create(
- author=user1,
- title='Test Note',
- slug='test-note'
- )
- client = Client()
- client.force_login(user1)
- urls = (
- reverse('notes:home'),
- reverse('notes:add'),
- reverse('notes:edit', args=[note1.slug]),
- reverse('notes:list'),
- reverse('notes:success'),
- )
- for url in urls:
- response = client.get(url, follow=True)
- self.assertEqual(response.status_code, HTTPStatus.OK)
|