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