Set sort order on Lanes model.
authorDiane Trout <diane@testing.woldlab.caltech.edu>
Wed, 22 Feb 2017 23:45:00 +0000 (15:45 -0800)
committerDiane Trout <diane@testing.woldlab.caltech.edu>
Wed, 22 Feb 2017 23:45:00 +0000 (15:45 -0800)
I was enforcing a sort order one one way to retrieve lanes but not the
other, which ment my tests depended on the database default return
order.

This then impacted another test of 'expected' results which needed to
be updated.

experiments/experiments.py
experiments/models.py
experiments/test_experiments.py

index b443a4d7db42e971b9c9f9c5a6a0058c0897799e..29b0cc1a9751a6fd50a0f3c75a62730af284db78 100644 (file)
@@ -96,7 +96,7 @@ def lanes_for(username=None):
         user = HTSUser.objects.get(username=username)
         query.update({'library__affiliations__users__id': user.id})
 
-    lanes = Lane.objects.filter(**query).order_by('-flowcell__run_date')
+    lanes = Lane.objects.filter(**query)
 
     result = []
     for l in lanes:
index b7fc5b87beced4598f3bafd2cfa6e0cfb4daa42a..822a29bb1ab793dbafac121c24889c7b2916c9e9 100644 (file)
@@ -284,6 +284,9 @@ def is_valid_lane(value):
 
 
 class Lane(models.Model):
+    class Meta:
+        ordering = ['-flowcell__run_date', '-library__id']
+
     flowcell = models.ForeignKey(FlowCell)
     lane_number = models.IntegerField()
     library = models.ForeignKey(Library)
index 9dc193324f29d2ac1825b855ba94abc39f7dc318..d6344c99dea103a9475d42ac486eb92987ed1111 100644 (file)
@@ -195,7 +195,7 @@ class ExperimentsTestCases(TestCase):
         library id field matches the library id looked up.
 
         """
-        expected_ids = ['1215{}'.format(i) for i in range(1, 9)]
+        expected_ids = ['1215{}'.format(i) for i in range(8, 0, -1)]
         self.assertTrue(self.client.login(username=self.admin.username, password=self.password))
         response = self.client.get(
             '/admin/experiments/flowcell/{}/change/'.format(self.fc12150.id),