From ec12ef8e65c7af8585d25050a62bcf59bfcb7832 Mon Sep 17 00:00:00 2001 From: Ethan Glasser-Camp Date: Wed, 27 Mar 2019 14:16:40 -0400 Subject: [PATCH 1/2] Fix typo in test name --- app/experimenter/experiments/tests/test_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/experimenter/experiments/tests/test_views.py b/app/experimenter/experiments/tests/test_views.py index d8fe4a0220..d0d3268d1e 100644 --- a/app/experimenter/experiments/tests/test_views.py +++ b/app/experimenter/experiments/tests/test_views.py @@ -178,7 +178,7 @@ def test_filters_by_firefox_channel(self): ) -class TestExperimengOrderingForm(TestCase): +class TestExperimentOrderingForm(TestCase): def test_accepts_valid_ordering(self): ordering = ExperimentOrderingForm.ORDERING_CHOICES[1][0] From 67b09f93350e7c7fa6681d6c270591f96847e371 Mon Sep 17 00:00:00 2001 From: Ethan Glasser-Camp Date: Wed, 27 Mar 2019 14:27:57 -0400 Subject: [PATCH 2/2] Add a test that ExperimentListView respects firefox_channel_sort This is a follow-up from #1115 just to ensure more correctness. --- .../experiments/tests/test_views.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/app/experimenter/experiments/tests/test_views.py b/app/experimenter/experiments/tests/test_views.py index d0d3268d1e..a8d78b9e5c 100644 --- a/app/experimenter/experiments/tests/test_views.py +++ b/app/experimenter/experiments/tests/test_views.py @@ -300,6 +300,36 @@ def test_list_view_filters_and_orders_experiments(self): list(context["experiments"]), list(filtered_ordered_experiments) ) + def test_list_view_orders_experiments_firefox_channel_sort(self): + user_email = "user@example.com" + ordering = "firefox_channel_sort" + channels = [ + Experiment.CHANNEL_RELEASE, + Experiment.CHANNEL_NIGHTLY, + Experiment.CHANNEL_BETA, + "", + ] + for channel in channels: + ExperimentFactory.create(firefox_channel=channel) + + response = self.client.get( + "{url}?{params}".format( + url=reverse("home"), params=urlencode({"ordering": ordering}) + ), + **{settings.OPENIDC_EMAIL_HEADER: user_email}, + ) + + context = response.context[0] + self.assertEqual( + list(exp.firefox_channel for exp in context["experiments"]), + [ + "", + Experiment.CHANNEL_NIGHTLY, + Experiment.CHANNEL_BETA, + Experiment.CHANNEL_RELEASE, + ], + ) + def test_list_view_total_experiments_count(self): user_email = "user@example.com"