Code source de lettings.tests

  1import pytest
  2
  3from django.urls import reverse, resolve
  4from django.test import Client
  5from pytest_django.asserts import assertTemplateUsed
  6
  7from lettings.models import Letting, Address
  8
  9C = Client()
 10
 11
[docs] 12def test_lettings_index_url(): 13 path = reverse("lettings_index") 14 15 assert path == "/lettings/" 16 assert resolve(path).view_name == "lettings_index"
17 18
[docs] 19def test_lettings_letting_url(): 20 path = reverse("letting", kwargs={'letting_id': 1}) 21 22 assert path == "/lettings/1/" 23 assert resolve(path).view_name == "letting"
24 25
[docs] 26@pytest.mark.django_db 27def test_lettings_index_view(): 28 client = C 29 address_1 = Address.objects.create(number=1601, 30 street="California street", 31 city="Palo Alto", 32 state="USA", 33 zip_code=94304, 34 country_iso_code="CA") 35 Letting.objects.create(title="FaceBook", 36 address=address_1) 37 path = reverse("lettings_index") 38 response = client.get(path) 39 content = response.content.decode() 40 expected_content = '<a href="/lettings/1/">FaceBook</a>' 41 42 assert expected_content in content 43 assert response.status_code == 200 44 assertTemplateUsed(response, "lettings/index.html")
45 46
[docs] 47@pytest.mark.django_db 48def test_lettings_letting_view(): 49 client = C 50 address_1 = Address.objects.create(number=1601, 51 street="California street", 52 city="Palo Alto", 53 state="USA", 54 zip_code=94304, 55 country_iso_code="CA") 56 Letting.objects.create(title="FaceBook", 57 address=address_1) 58 path = reverse("letting", kwargs={'letting_id': 1}) 59 response = client.get(path) 60 content = response.content.decode() 61 expected_content = ['<p>1601 California street</p>', 62 '<p>Palo Alto, USA 94304</p>', 63 '<p>CA</p>' 64 ] 65 for elem in expected_content: 66 assert elem in content 67 assert response.status_code == 200 68 assertTemplateUsed(response, "lettings/letting.html")
69 70
[docs] 71class TestModels: 72 pytestmark = pytest.mark.django_db 73
[docs] 74 def test_address_model(self): 75 Client() 76 77 address_1 = Address.objects.create(number=1601, 78 street="California street", 79 city="Palo Alto", 80 state="USA", 81 zip_code=94304, 82 country_iso_code="CA") 83 84 expected_content = "1601 California street" 85 86 assert str(address_1) == expected_content
87
[docs] 88 def test_letting_model(self): 89 Client() 90 address_1 = Address.objects.create(number=1601, 91 street="California street", 92 city="Palo Alto", 93 state="USA", 94 zip_code=94304, 95 country_iso_code="CA") 96 letting = Letting.objects.create(title="FaceBook", 97 address=address_1) 98 expected_content = "FaceBook" 99 100 assert str(letting) == expected_content