Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
etchegom committed Feb 10, 2025
1 parent 4df3523 commit b943c07
Showing 1 changed file with 24 additions and 28 deletions.
52 changes: 24 additions & 28 deletions recoco/apps/projects/tests/test_rest.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def test_project_list_tags_filter(request, api_client):


@pytest.mark.django_db
def test_project_list_last_activity_filter(request, client):
def test_project_list_last_activity_filter(request, api_client):
site = get_current_site(request)
user = baker.make(auth_models.User, is_superuser=True)

Expand All @@ -205,35 +205,34 @@ def test_project_list_last_activity_filter(request, client):
with freeze_time("2025-01-10"):
baker.make(models.Project, sites=[site])

client = APIClient()
client.force_authenticate(user=user)
api_client.force_authenticate(user=user)

url = reverse("projects-list")

with freeze_time("2025-01-15"):
response = client.get(f"{url}?last_activity=3")
response = api_client.get(f"{url}?last_activity=3")
assert response.status_code == 200
assert len(response.data) == 0

response = client.get(f"{url}?last_activity=5")
response = api_client.get(f"{url}?last_activity=5")
assert response.status_code == 200
assert len(response.data) == 1

response = client.get(f"{url}?last_activity=15")
response = api_client.get(f"{url}?last_activity=15")
assert response.status_code == 200
assert len(response.data) == 2

response = client.get(f"{url}?last_activity=dummy")
response = api_client.get(f"{url}?last_activity=dummy")
assert response.status_code == 200
assert len(response.data) == 2

response = client.get(f"{url}?last_activity=")
response = api_client.get(f"{url}?last_activity=")
assert response.status_code == 200
assert len(response.data) == 2


@pytest.mark.django_db
def test_project_list_search_filter_fulltext(request, client):
def test_project_list_search_filter_fulltext(request, api_client):
site = get_current_site(request)
user = baker.make(auth_models.User, is_superuser=True)

Expand All @@ -257,43 +256,42 @@ def test_project_list_search_filter_fulltext(request, client):
commune__insee="28838",
)

client = APIClient()
client.force_authenticate(user=user)
api_client.force_authenticate(user=user)

url = reverse("projects-list")

response = client.get(url)
response = api_client.get(url)
assert response.status_code == 200
assert len(response.data) == 2

# project title
response = client.get(f"{url}?search=niceproject")
response = api_client.get(f"{url}?search=niceproject")
assert response.status_code == 200
assert len(response.data) == 1

# city name
response = client.get(f"{url}?search=maville")
response = api_client.get(f"{url}?search=maville")
assert response.status_code == 200
assert len(response.data) == 1

# postcode
response = client.get(f"{url}?search=99666")
response = api_client.get(f"{url}?search=99666")
assert response.status_code == 200
assert len(response.data) == 1

# insee
response = client.get(f"{url}?search=AZ37")
response = api_client.get(f"{url}?search=AZ37")
assert response.status_code == 200
assert len(response.data) == 1

# no result is fine?
response = client.get(f"{url}?search=XIDJISJDI")
response = api_client.get(f"{url}?search=XIDJISJDI")
assert response.status_code == 200
assert len(response.data) == 0


@pytest.mark.django_db
def test_project_list_search_filter_departments(request, client):
def test_project_list_search_filter_departments(request, api_client):
site = get_current_site(request)
user = baker.make(auth_models.User, is_superuser=True)

Expand All @@ -319,45 +317,43 @@ def test_project_list_search_filter_departments(request, client):
commune__department__code="10",
)

client = APIClient()
client.force_authenticate(user=user)
api_client.force_authenticate(user=user)

url = reverse("projects-list")

response = client.get(url)
response = api_client.get(url)
assert response.status_code == 200
assert len(response.data) == 2

# cumulative query FTS+filter
response = client.get(f"{url}?search=niceproject&departments=62")
response = api_client.get(f"{url}?search=niceproject&departments=62")
assert response.status_code == 200
assert len(response.data) == 1

# Multiple departments
response = client.get(f"{url}?departments=10&departments=62")
response = api_client.get(f"{url}?departments=10&departments=62")
assert response.status_code == 200
assert len(response.data) == 2

# No department filter
response = client.get(f"{url}?search=niceproject")
response = api_client.get(f"{url}?search=niceproject")
assert response.status_code == 200
assert len(response.data) == 1


@pytest.mark.django_db
def test_project_list_search_filter_is_cumulative(request, client):
def test_project_list_search_filter_is_cumulative(request, api_client):
site = get_current_site(request)
user = baker.make(auth_models.User, is_superuser=True)

project_1 = baker.make(models.Project, name="ABC", sites=[site])
project_1.tags.add("tag1", "tag2")

client = APIClient()
client.force_authenticate(user=user)
api_client.force_authenticate(user=user)

url = reverse("projects-list")

response = client.get(f"{url}?search=ABC&tags=tag1")
response = api_client.get(f"{url}?search=ABC&tags=tag1")
assert response.status_code == 200
assert len(response.data) == 1

Expand Down

0 comments on commit b943c07

Please sign in to comment.