def test_unknown_field(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['address','name','age','point x','point y'], ['123 Beach St','a','b','5','5'], ['222 Main St','a','b','8','8']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() self.assertFalse(rslt) ierrors = json.loads(ie.errors) # Should be x/y point error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], False) self.assertEqual(etpl, errors.UNMATCHED_FIELDS) self.assertEqual(set(ierrors[0]['data']), set(['name','age']))
def test_missing_point_field(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['address','plot width','plot_length'], ['123 Beach St','5','5'], ['222 Main St','8','8']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() self.assertFalse(rslt) ierrors = json.loads(ie.errors) # Should be x/y point error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], True) self.assertEqual(etpl, errors.MISSING_POINTS)
def test_empty_file_error(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['header_field1','header_fields2','header_field3']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() # No rows added and validation failed self.assertEqual(TreeImportRow.objects.count(), base_rows) self.assertFalse(rslt) ierrors = json.loads(ie.errors) # The only error is a bad file error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], True) self.assertEqual(etpl, errors.EMPTY_FILE)
def test_unknown_field(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['address', 'name', 'age', 'point x', 'point y'], ['123 Beach St', 'a', 'b', '5', '5'], ['222 Main St', 'a', 'b', '8', '8']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() self.assertFalse(rslt) ierrors = json.loads(ie.errors) # Should be x/y point error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], False) self.assertEqual(etpl, errors.UNMATCHED_FIELDS) self.assertEqual(set(ierrors[0]['data']), set(['name', 'age']))
def test_missing_point_field(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['address', 'plot width', 'plot_length'], ['123 Beach St', '5', '5'], ['222 Main St', '8', '8']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() self.assertFalse(rslt) ierrors = json.loads(ie.errors) # Should be x/y point error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], True) self.assertEqual(etpl, errors.MISSING_POINTS)
def test_empty_file_error(self): bie = ImportEvent(file_name="fn") bie.save() ie = TreeImportEvent(file_name='file', owner=self.user, base_import_event=bie) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv( [['header_field1', 'header_fields2', 'header_field3']]) create_rows_for_event(ie, c) rslt = ie.validate_main_file() # No rows added and validation failed self.assertEqual(TreeImportRow.objects.count(), base_rows) self.assertFalse(rslt) ierrors = json.loads(ie.errors) # The only error is a bad file error self.assertTrue(len(ierrors), 1) etpl = (ierrors[0]['code'], ierrors[0]['msg'], True) self.assertEqual(etpl, errors.EMPTY_FILE)