From be96a2f7e3aeb59727ba88913cc6fda97bf8a423 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 30 Sep 2019 13:39:56 +1000 Subject: [PATCH] Add some unit tests --- InvenTree/company/test_views.py | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 InvenTree/company/test_views.py diff --git a/InvenTree/company/test_views.py b/InvenTree/company/test_views.py new file mode 100644 index 0000000000..84923f04b2 --- /dev/null +++ b/InvenTree/company/test_views.py @@ -0,0 +1,58 @@ +""" Unit tests for Company views (see views.py) """ + +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.test import TestCase +from django.urls import reverse +from django.contrib.auth import get_user_model + +from .models import SupplierPart + + +class CompanyViewTest(TestCase): + + fixtures = [ + 'category', + 'part', + 'location', + 'company', + 'supplier_part', + ] + + def setUp(self): + super().setUp() + + # Create a user + User = get_user_model() + User.objects.create_user('username', 'user@email.com', 'password') + + self.client.login(username='username', password='password') + + def test_supplier_part_delete(self): + """ Test the SupplierPartDelete view """ + + url = reverse('supplier-part-delete') + + # Get form using 'part' argument + response = self.client.get(url, {'part': '1'}, HTTP_X_REQUESTED_WITH='XMLHttpRequest') + self.assertEqual(response.status_code, 200) + + # Get form using 'parts' argument + response = self.client.get(url + '?parts[]=1&parts[]=2', HTTP_X_REQUESTED_WITH='XMLHttpRequest') + self.assertEqual(response.status_code, 200) + + # POST to delete two parts + n = SupplierPart.objects.count() + response = self.client.post( + url, + { + 'supplier-part-2': 'supplier-part-2', + 'supplier-part-3': 'supplier-part-3', + 'confirm_delete': True + }, + HTTP_X_REQUESTED_WITH='XMLHttpRequest') + + self.assertEqual(response.status_code, 200) + + self.assertEqual(n - 2, SupplierPart.objects.count())