Skip to content
This repository was archived by the owner on Oct 5, 2023. It is now read-only.

Commit 7409e0f

Browse files
authored
Add filtering for active experiments (#25)
1 parent 9df06f4 commit 7409e0f

File tree

5 files changed

+21
-3
lines changed

5 files changed

+21
-3
lines changed

django_google_optimize/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
default_app_config = "django_google_optimize.apps.DjangoGoogleOptimizeConfig"

django_google_optimize/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class DjangoGoogleOptimizeConfig(AppConfig):
5+
name = "django_google_optimize"
6+
verbose_name = "Google Optimize"

django_google_optimize/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
# pylint: disable=too-many-return-statements
99
def get_experiments_variants(request):
10-
experiments = GoogleExperiment.objects.all()
10+
experiments = GoogleExperiment.objects.filter(active=True)
1111
if not experiments:
1212
logger.warning("No experiment added")
1313
return None

tests/test_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Meta:
1010

1111
experiment_id = factory.Faker("sha1")
1212
experiment_alias = factory.Faker("city")
13-
active = False
13+
active = True
1414

1515

1616
# pylint: disable=too-few-public-methods

tests/test_utils.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,17 @@ def test_parses_experiments_without_variant_alias():
139139
exp = GoogleExperimentFactory()
140140
variant = ExperimentVariantFactory(index=1, alias=None, experiment=exp)
141141
request = HttpRequest()
142-
request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.1"
142+
request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.{variant.index}"
143143
values = get_experiments_variants(request)
144144
assert values == {exp.experiment_alias: variant.index}
145+
146+
147+
@pytest.mark.django_db
148+
def test_filters_active_experiments():
149+
exp = GoogleExperimentFactory()
150+
GoogleExperimentFactory(active=False)
151+
variant = ExperimentVariantFactory(index=1, experiment=exp)
152+
request = HttpRequest()
153+
request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.{variant.index}"
154+
values = get_experiments_variants(request)
155+
assert values == {exp.experiment_alias: variant.alias}

0 commit comments

Comments
 (0)