def test_dataset_api_update_deleted(self): '''It should not update a deleted dataset from the API and raise 401''' user = self.login() dataset = DatasetFactory(owner=user, deleted=datetime.now()) data = dataset.to_dict() data['description'] = 'new description' response = self.put(url_for('api.dataset', dataset=dataset), data) self.assert410(response) self.assertEqual(Dataset.objects.count(), 1) self.assertEqual(Dataset.objects.first().description, dataset.description)
def test_dataset_api_update(self): '''It should update a dataset from the API''' user = self.login() dataset = DatasetFactory(owner=user) data = dataset.to_dict() data['description'] = 'new description' response = self.put(url_for('api.dataset', dataset=dataset), data) self.assert200(response) self.assertEqual(Dataset.objects.count(), 1) self.assertEqual(Dataset.objects.first().description, 'new description')
def test_dataset_api_update_without_resources(self): '''It should update a dataset from the API without resources''' user = self.login() dataset = DatasetFactory(owner=user, resources=ResourceFactory.build_batch(3)) initial_length = len(dataset.resources) data = dataset.to_dict() del data['resources'] data['description'] = faker.sentence() response = self.put(url_for('api.dataset', dataset=dataset), data) self.assert200(response) self.assertEqual(Dataset.objects.count(), 1) dataset.reload() self.assertEqual(dataset.description, data['description']) self.assertEqual(len(dataset.resources), initial_length)
def test_dataset_api_update_with_extras(self): '''It should update a dataset from the API with extras parameters''' user = self.login() dataset = DatasetFactory(owner=user) data = dataset.to_dict() data['extras'] = { 'integer': 42, 'float': 42.0, 'string': 'value', } response = self.put(url_for('api.dataset', dataset=dataset), data) self.assert200(response) self.assertEqual(Dataset.objects.count(), 1) dataset = Dataset.objects.first() self.assertEqual(dataset.extras['integer'], 42) self.assertEqual(dataset.extras['float'], 42.0) self.assertEqual(dataset.extras['string'], 'value')