|
3 | 3 | import pytest |
4 | 4 | from django.http import HttpRequest |
5 | 5 |
|
6 | | -from .test_helpers import ExperimentVariantFactory, GoogleExperimentFactory |
| 6 | +from .test_helpers import ( |
| 7 | + ExperimentCookieFactory, |
| 8 | + ExperimentVariantFactory, |
| 9 | + GoogleExperimentFactory, |
| 10 | +) |
7 | 11 |
|
8 | 12 | from django_google_optimize.utils import _parse_experiments, get_experiments_variants |
9 | 13 |
|
@@ -153,3 +157,42 @@ def test_filters_active_experiments(): |
153 | 157 | request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.{variant.index}" |
154 | 158 | values = get_experiments_variants(request) |
155 | 159 | assert values == {exp.experiment_alias: variant.alias} |
| 160 | + |
| 161 | + |
| 162 | +@pytest.mark.django_db |
| 163 | +def test_cookie_override(settings): |
| 164 | + settings.DEBUG = True |
| 165 | + exp = GoogleExperimentFactory() |
| 166 | + variant = ExperimentVariantFactory(index=1, experiment=exp) |
| 167 | + ExperimentCookieFactory(active_variant_index=variant.index, experiment=exp) |
| 168 | + |
| 169 | + request = HttpRequest() |
| 170 | + request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.5" |
| 171 | + |
| 172 | + values = get_experiments_variants(request) |
| 173 | + assert values == {exp.experiment_alias: variant.alias} |
| 174 | + |
| 175 | + |
| 176 | +@pytest.mark.django_db |
| 177 | +def test_cookie_add_new(settings): |
| 178 | + settings.DEBUG = True |
| 179 | + exp = GoogleExperimentFactory() |
| 180 | + variant = ExperimentVariantFactory(index=1, experiment=exp) |
| 181 | + ExperimentCookieFactory(active_variant_index=variant.index, experiment=exp) |
| 182 | + |
| 183 | + request = HttpRequest() |
| 184 | + values = get_experiments_variants(request) |
| 185 | + assert values == {exp.experiment_alias: variant.alias} |
| 186 | + |
| 187 | + |
| 188 | +@pytest.mark.django_db |
| 189 | +def test_cookie_override_only_debug(): |
| 190 | + exp = GoogleExperimentFactory() |
| 191 | + variant = ExperimentVariantFactory(index=1, experiment=exp) |
| 192 | + ExperimentCookieFactory(active_variant_index=5, experiment=exp) |
| 193 | + |
| 194 | + request = HttpRequest() |
| 195 | + request.COOKIES["_gaexp"] = f"GAX1.2.{exp.experiment_id}.18147.1" |
| 196 | + |
| 197 | + values = get_experiments_variants(request) |
| 198 | + assert values == {exp.experiment_alias: variant.alias} |
0 commit comments