implemented required fields for csv data load

This commit is contained in:
Sam
2021-02-03 11:32:58 +00:00
parent 569ba6515b
commit e6ada44704
3 changed files with 13 additions and 8 deletions

View File

@@ -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()

View File

@@ -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

View File

@@ -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
1 email cif nombre-coop nombre-corto url es-tienda
2 qwer@mail.com 1223432214L FEWQ4FEWQ COOP fc tienda1.com True
3 dsfds@mail.com 65876514L FEW2QFEWQ COOP fc tienda2.com True
4 ghjhg@mail.com 122343214L FEWQF2EWQ COOP fc tienda3.com True
5 xcv@mail.com 12343214L FEWQ2FEWQ COOP fc tienda4.com True
6 cvc@mail.com 1879783214L 2FEWQFEWQ COOP fc tienda5.com True
7 bvbc@mail.com 5653214L FEW2QFEWQ COOP fc tienda6.com True
8 kjk@mail.com 54326543H FE2WQF2EWQ COOP fc tienda7.com True
9 yuyu@mail.com 12343214L F2EWQFEWQ COOP fc tienda8.com True