From e6ada44704d468b73edd3d84f4c75ebc9add4f4d Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 3 Feb 2021 11:32:58 +0000 Subject: [PATCH] implemented required fields for csv data load --- core/tests.py | 5 +++-- core/views.py | 4 ++++ datasets/test_coop.csv | 12 ++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/tests.py b/core/tests.py index 9eb4f83..557da7e 100644 --- a/core/tests.py +++ b/core/tests.py @@ -403,6 +403,7 @@ class LoadCoopManagerTestCase(APITestCase): self.csv_path = 'datasets/test_coop.csv' def test_admin_can_load_csv(self): + # delete all instances company_count = self.company_model.objects.count() user_count = self.user_model.objects.count() @@ -420,8 +421,8 @@ class LoadCoopManagerTestCase(APITestCase): # check re sponse self.assertEqual(response.status_code, 200) # check for object creation - self.assertNotEqual(company_count, self.company_model.objects.count()) - self.assertNotEqual(user_count, self.user_model.objects.count()) + self.assertEquals(company_count + 5, self.company_model.objects.count()) + self.assertEquals(user_count + 5, self.user_model.objects.count()) def test_auth_user_cannot_load_csv(self): company_count = self.company_model.objects.count() diff --git a/core/views.py b/core/views.py index c0443ea..2e7f5cb 100644 --- a/core/views.py +++ b/core/views.py @@ -103,6 +103,9 @@ def load_coop_managers(request): coop_counter = 0 user_counter = 0 for row in csv_reader: + if '' in (row['cif'], row['nombre-coop'], row['email']): + logging.error(f"Required data missing: {row}") + continue try: coop_data = { 'cif': row['cif'].strip(), @@ -111,6 +114,7 @@ def load_coop_managers(request): 'shop': bool(row['es-tienda'].strip()), 'shop_link': row['url'].strip(), } + # import ipdb; ipdb.set_trace() coop = Company.objects.create(**coop_data) logging.info(f"Created Coop: {coop_data}") coop_counter += 1 diff --git a/datasets/test_coop.csv b/datasets/test_coop.csv index 9d97ecd..6080b1e 100644 --- a/datasets/test_coop.csv +++ b/datasets/test_coop.csv @@ -1,9 +1,9 @@ email,cif,nombre-coop,nombre-corto,url,es-tienda -qwer@mail.com, 1223432214L, FEWQ4FEWQ COOP, fc, tienda1.com, True -dsfds@mail.com, 65876514L, FEW2QFEWQ COOP, fc, tienda2.com, True -ghjhg@mail.com, 122343214L, FEWQF2EWQ COOP, fc, tienda3.com, True -xcv@mail.com, 12343214L, FEWQ2FEWQ COOP, fc, tienda4.com, True -cvc@mail.com, 1879783214L, 2FEWQFEWQ COOP, fc, tienda5.com, True -bvbc@mail.com, 5653214L, FEW2QFEWQ COOP, fc, tienda6.com, True +, 1223432214L, FEWQ4FEWQ COOP, fc, tienda1.com, True +dsfds@mail.com,, FEW2QFEWQ COOP, fc, tienda2.com, True +ghjhg@mail.com, 122343214L,, fc, tienda3.com, True +xcv@mail.com, 12343214L, FEWQ2FEWQ COOP,, tienda4.com, True +cvc@mail.com, 1879783214L, 2FEWQFEWQ COOP, fc,, True +bvbc@mail.com, 5653214L, FEW2QFEWQ COOP, fc, tienda6.com, kjk@mail.com, 54326543H, FE2WQF2EWQ COOP, fc, tienda7.com, True yuyu@mail.com, 12343214L, F2EWQFEWQ COOP, fc, tienda8.com, True \ No newline at end of file