def test_unknown_field(self): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv([ ['street 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): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv([['plot width', 'plot length'], ['5', '5'], ['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_FIELD)
def test_missing_point_field(self): ie = TreeImportEvent(file_name="file", owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv([["Plot width", "Plot length"], ["5", "5"], ["8", "8"]]) rslt = _create_rows_for_event(ie, c) self.assertFalse(rslt) ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.MISSING_FIELD)
def test_empty_file_error(self): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) 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_missing_point_field(self): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv([['Plot width', 'Plot length'], ['5', '5'], ['8', '8']]) rslt = _create_rows_for_event(ie, c) self.assertFalse(rslt) ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.MISSING_FIELD)
def test_empty_file_error(self): ie = TreeImportEvent(file_name="file", owner=self.user, instance=self.instance) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([["point x", "point y"]]) rslt = _create_rows_for_event(ie, c) # No rows added and validation failed self.assertEqual(TreeImportRow.objects.count(), base_rows) self.assertFalse(rslt) # The only error is a bad file error ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.EMPTY_FILE)
def test_empty_file_error(self): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) ie.save() base_rows = TreeImportRow.objects.count() c = self.write_csv([['point x', 'point y']]) rslt = _create_rows_for_event(ie, c) # No rows added and validation failed self.assertEqual(TreeImportRow.objects.count(), base_rows) self.assertFalse(rslt) # The only error is a bad file error ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.EMPTY_FILE)
def test_unknown_field(self): ie = TreeImportEvent(file_name='file', owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv([ ['street address', 'name', 'age', 'point x', 'point y'], ['123 Beach St', 'a', 'b', '5', '5'], ['222 Main St', 'a', 'b', '8', '8']]) rslt = _create_rows_for_event(ie, c) self.assertFalse(rslt) ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.UNMATCHED_FIELDS) self.assertEqual(set(ierrors[0]['data']), set(['name', 'age']))
def test_unknown_field(self): ie = TreeImportEvent(file_name="file", owner=self.user, instance=self.instance) ie.save() TreeImportRow.objects.count() c = self.write_csv( [ ["street address", "name", "age", "point x", "point y"], ["123 Beach St", "a", "b", "5", "5"], ["222 Main St", "a", "b", "8", "8"], ] ) rslt = _create_rows_for_event(ie, c) self.assertFalse(rslt) ierrors = json.loads(ie.errors) self.assertTrue(len(ierrors), 1) self.assertHasError(ie, errors.UNMATCHED_FIELDS) self.assertEqual(set(ierrors[0]["data"]), set(["name", "age"]))