diff --git a/app/experimenter/experiments/tests/test_views.py b/app/experimenter/experiments/tests/test_views.py index d8fe4a0220..a8d78b9e5c 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] @@ -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"