Skip to content

Commit

Permalink
feat(analytics): add tests for custom properties for UTM code informa…
Browse files Browse the repository at this point in the history
…tion
  • Loading branch information
lalver1 committed Apr 26, 2024
1 parent 7e63fc9 commit 23e7262
Showing 1 changed file with 55 additions and 1 deletion.
56 changes: 55 additions & 1 deletion tests/pytest/core/test_analytics.py
@@ -1,7 +1,7 @@
import pytest

import benefits.core.analytics
from benefits.core.analytics import Event
from benefits.core.analytics import Event, ViewedPageEvent


@pytest.mark.django_db
Expand Down Expand Up @@ -80,3 +80,57 @@ def test_Event_update_user_properties(app_request):

assert key in event.user_properties
assert event.user_properties[key] == value


@pytest.mark.django_db
def test_ViewedPageEvent_sets_default_event_properties(app_request, mocker):
update_spy = mocker.spy(ViewedPageEvent, "update_event_properties")

ViewedPageEvent(app_request)

assert "utm_campaign" in update_spy.call_args.kwargs
assert "utm_source" in update_spy.call_args.kwargs
assert "utm_medium" in update_spy.call_args.kwargs
assert "utm_content" in update_spy.call_args.kwargs
assert "utm_term" in update_spy.call_args.kwargs


@pytest.mark.django_db
def test_ViewedPageEvent_sets_default_user_properties(app_request, mocker):
update_spy = mocker.spy(ViewedPageEvent, "update_user_properties")

ViewedPageEvent(app_request)

assert "utm_campaign" in update_spy.call_args.kwargs
assert "utm_source" in update_spy.call_args.kwargs
assert "utm_medium" in update_spy.call_args.kwargs
assert "utm_content" in update_spy.call_args.kwargs
assert "utm_term" in update_spy.call_args.kwargs


@pytest.mark.django_db
def test_ViewedPageEvent_update_event_properties(app_request):
key, value = "key", "value"
event = ViewedPageEvent(app_request)

assert len(event.event_properties) > 0
assert key not in event.event_properties

event.update_event_properties(**{key: value})

assert key in event.event_properties
assert event.event_properties[key] == value


@pytest.mark.django_db
def test_ViewedPageEvent_update_user_properties(app_request):
key, value = "key", "value"
event = ViewedPageEvent(app_request)

assert len(event.user_properties) > 0
assert key not in event.user_properties

event.update_user_properties(**{key: value})

assert key in event.user_properties
assert event.user_properties[key] == value

0 comments on commit 23e7262

Please sign in to comment.