def test_cant_add_tasks_if_geojson_not_feature_collection(self): # Arrange invalid_feature = ( '{"coordinates": [[[[-4.0237, 56.0904], [-3.9111, 56.1715], [-3.8122, 56.098],' '[-4.0237, 56.0904]]]], "type": "MultiPolygon"}') # Act with self.assertRaises(InvalidGeoJson): ProjectAdminService._attach_tasks_to_project( MagicMock(), invalid_feature)
def test_valid_geo_json_attaches_task_to_project(self): # Arrange valid_feature_collection = json.loads( '{"features": [{"geometry": {"coordinates": [[[[-4.0237, 56.0904],' '[-3.9111, 56.1715], [-3.8122, 56.098], [-4.0237, 56.0904]]]], "type":' '"MultiPolygon"}, "properties": {"x": 2402, "y": 1736, "zoom": 12, "isSquare": true}, "type":' '"Feature"}], "type": "FeatureCollection"}') test_project = Project() # Act ProjectAdminService._attach_tasks_to_project(test_project, valid_feature_collection) # Assert self.assertEqual( 1, test_project.tasks.count(), "One task should have been attached to project", )