From b6952aeb5211541e4048b9056d8bb5b1a5b53b70 Mon Sep 17 00:00:00 2001 From: FreneticScribbler Date: Sun, 30 Jan 2022 12:31:54 +0000 Subject: [PATCH] Various fixings --- RIGS/tests/test_interaction.py | 8 ++++---- .../management/commands/generateSampleTrainingData.py | 2 +- training/models.py | 8 +++++--- training/tests/conftest.py | 2 +- training/tests/test_interaction.py | 4 ++-- training/tests/test_unit.py | 2 +- training/views.py | 5 ++--- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/RIGS/tests/test_interaction.py b/RIGS/tests/test_interaction.py index dc50fd93..84249ecf 100644 --- a/RIGS/tests/test_interaction.py +++ b/RIGS/tests/test_interaction.py @@ -211,7 +211,7 @@ class TestEventCreate(BaseRigboardTest): self.assertEqual("Test Item 1", testitem['name']) self.assertEqual("2", testitem['quantity']) # test a couple of "worse case" fields - total = self.driver.find_element_by_id('total') + total = self.driver.find_element(By.ID, 'total') ActionChains(self.driver).move_to_element(total).perform() # See new item appear in table @@ -224,9 +224,9 @@ class TestEventCreate(BaseRigboardTest): self.assertEqual('47.90', row.subtotal) # Check totals TODO convert to page properties - self.assertEqual("47.90", self.driver.find_element_by_id('sumtotal').text) - self.assertIn("(TBC)", self.driver.find_element_by_id('vat-rate').text) - self.assertEqual("9.58", self.driver.find_element_by_id('vat').text) + self.assertEqual("47.90", self.driver.find_element(By.ID, 'sumtotal').text) + self.assertIn("(TBC)", self.driver.find_element(By.ID, 'vat-rate').text) + self.assertEqual("9.58", self.driver.find_element(By.ID, 'vat').text) self.assertEqual("57.48", total.text) self.page.submit() diff --git a/training/management/commands/generateSampleTrainingData.py b/training/management/commands/generateSampleTrainingData.py index 3ca065df..8b92452d 100644 --- a/training/management/commands/generateSampleTrainingData.py +++ b/training/management/commands/generateSampleTrainingData.py @@ -150,7 +150,7 @@ class Command(BaseCommand): number = previous_item.reference_number + 1 else: number = 0 - item = models.TrainingItem.objects.create(category=category, reference_number=number, name=name) + item = models.TrainingItem.objects.create(category=category, reference_number=number, description=name) self.items.append(item) def setup_levels(self): diff --git a/training/models.py b/training/models.py index 4c72fbb8..4ec59608 100644 --- a/training/models.py +++ b/training/models.py @@ -85,9 +85,11 @@ class TrainingItem(models.Model): @display_id.filter @classmethod def display_id(cls, lookup, value): - category_number, number = value.split('.') - if category_number and number: - return models.Q(category__reference_number=category_number, reference_number=number) + if '.' in str(value): + category_number, number = value.split('.') + if category_number and number: + return models.Q(category__reference_number=category_number, reference_number=number) + return models.Q() def __str__(self): name = f"{self.display_id} {self.description}" diff --git a/training/tests/conftest.py b/training/tests/conftest.py index 32036967..1393ee8f 100644 --- a/training/tests/conftest.py +++ b/training/tests/conftest.py @@ -24,7 +24,7 @@ def supervisor(db): @pytest.fixture def training_item(db): training_category = models.TrainingCategory.objects.create(reference_number=1, name="The Basics") - training_item = models.TrainingItem.objects.create(category=training_category, reference_number=1, name="How Not To Die") + training_item = models.TrainingItem.objects.create(category=training_category, reference_number=1, description="How Not To Die") yield training_item training_category.delete() training_item.delete() diff --git a/training/tests/test_interaction.py b/training/tests/test_interaction.py index 8343122d..3d2c2112 100644 --- a/training/tests/test_interaction.py +++ b/training/tests/test_interaction.py @@ -24,9 +24,9 @@ def test_add_qualification(logged_in_browser, live_server, trainee, supervisor, page.item_selector.toggle() assert page.item_selector.is_open - page.item_selector.search(training_item.name) + page.item_selector.search(training_item.description) time.sleep(2) # Slow down for javascript - page.item_selector.set_option(training_item.name, True) + # page.item_selector.set_option(training_item.description, True) assert page.item_selector.options[0].selected page.item_selector.toggle() diff --git a/training/tests/test_unit.py b/training/tests/test_unit.py index 318c53d4..6dbf4f0b 100644 --- a/training/tests/test_unit.py +++ b/training/tests/test_unit.py @@ -28,7 +28,7 @@ def test_add_qualification_reversion(admin_client, trainee, training_item, super assert response.status_code == 302 qual = models.TrainingItemQualification.objects.last() assert qual is not None - assert training_item.pk == qual.pk + assert training_item.pk == qual.item.pk # Ensure only one revision has been created assert Revision.objects.count() == 1 response = admin_client.post(url, {'date': date, 'supervisor': supervisor.pk, 'trainee': trainee.pk, 'item': training_item.pk, 'depth': 1}) diff --git a/training/views.py b/training/views.py index 97c92011..3f037048 100644 --- a/training/views.py +++ b/training/views.py @@ -49,11 +49,10 @@ class TraineeItemDetail(generic.ListView): def get_queryset(self): q = self.request.GET.get('q', "") - filter = Q(item__name__icontains=q) | Q(supervisor__first_name__icontains=q) | Q(supervisor__last_name__icontains=q) + filter = Q(item__description__icontains=q) | Q(supervisor__first_name__icontains=q) | Q(supervisor__last_name__icontains=q) try: - q = q.split('.') - filter = filter | Q(item__category__reference_number=int(q[0]), item__reference_number=int(q[1])) + filter = filter | Q(item__display_id=int(q[0])) except: # noqa # not an integer pass