import pytest from django.http import HttpRequest, HttpResponse from apps.core.consent import CONSENT_COOKIE_NAME, ConsentService @pytest.mark.django_db def test_consent_round_trip(rf): request = HttpRequest() response = HttpResponse() ConsentService.set_consent(response, analytics=True, advertising=False) cookie = response.cookies[CONSENT_COOKIE_NAME].value request.COOKIES[CONSENT_COOKIE_NAME] = cookie state = ConsentService.get_consent(request) assert state.analytics is True assert state.advertising is False @pytest.mark.django_db def test_consent_post_view(client): resp = client.post("/consent/", {"accept_all": "1"}, follow=False) assert resp.status_code == 302 assert CONSENT_COOKIE_NAME in resp.cookies