-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy pathtest_views.py
More file actions
54 lines (41 loc) · 1.66 KB
/
test_views.py
File metadata and controls
54 lines (41 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import pytest
from datetime import date
from django.urls import reverse
from rest_framework.test import APIClient
from map.models import CommunityArea, RestaurantPermit
@pytest.mark.django_db
def test_map_data_view():
area1 = CommunityArea.objects.create(name="Beverly", area_id=1)
area2 = CommunityArea.objects.create(name="Lincoln Park", area_id=2)
# Beverly: 2 permits in 2021
RestaurantPermit.objects.create(
community_area_id=str(area1.area_id), issue_date=date(2021, 1, 15)
)
RestaurantPermit.objects.create(
community_area_id=str(area1.area_id), issue_date=date(2021, 2, 20)
)
# Lincoln Park: 3 permits in 2021
RestaurantPermit.objects.create(
community_area_id=str(area2.area_id), issue_date=date(2021, 3, 10)
)
RestaurantPermit.objects.create(
community_area_id=str(area2.area_id), issue_date=date(2021, 2, 14)
)
RestaurantPermit.objects.create(
community_area_id=str(area2.area_id), issue_date=date(2021, 6, 22)
)
# A permit in a different year should not be counted
RestaurantPermit.objects.create(
community_area_id=str(area1.area_id), issue_date=date(2020, 5, 1)
)
client = APIClient()
response = client.get(reverse("map_data"), {"year": 2021})
assert response.status_code == 200
data = response.json()
assert len(data) == 2
beverly = next(area for area in data if area["name"] == "Beverly")
lincoln_park = next(area for area in data if area["name"] == "Lincoln Park")
assert beverly["num_permits"] == 2
assert beverly["area_id"] == 1
assert lincoln_park["num_permits"] == 3
assert lincoln_park["area_id"] == 2