Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Commit 355c7de

Browse files
authored
Merge pull request #722 from alphagov/ignore-validations
Ignore validations for links (and others)
2 parents 32b0c0b + 5cb26b5 commit 355c7de

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

app/services/ckan/v26/link_updater.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def create_or_update_link(dataset, resource)
1616
attributes = LinkMapper.new.call(resource, dataset)
1717

1818
link.assign_attributes(attributes)
19-
link.save
19+
link.save(validate: false)
2020
end
2121

2222
def remove_missing_links(dataset, package)

spec/features/ckan_v26_package_import_spec.rb

+19-4
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,13 @@
4646
end
4747

4848
it 'updates an existing dataset if already exists' do
49-
create :dataset, uuid: package_create_id
49+
dataset = Dataset.new(uuid: package_create_id, title: "")
50+
dataset.save(validate: false)
5051

5152
expect { subject.perform(package_create_id) }
5253
.to_not(change { Dataset.count })
54+
55+
expect(dataset.reload.title).to eq package_create["result"]["title"]
5356
end
5457
end
5558

@@ -60,10 +63,16 @@
6063
end
6164

6265
it 'updates an inspire dataset if it already exists' do
63-
create :dataset, :inspire, uuid: package_inspire_id
66+
dataset = Dataset.new(uuid: package_inspire_id, title: "")
67+
dataset.save(validate: false)
68+
69+
inspire_dataset = InspireDataset.new(dataset: dataset)
70+
inspire_dataset.save(validate: false)
6471

6572
expect { subject.perform(package_inspire_id) }
6673
.to_not(change { InspireDataset.count })
74+
75+
expect(inspire_dataset.reload.import_source).to eq "harvest"
6776
end
6877

6978
it 'removes an inspire dataset if it is not in the package' do
@@ -81,11 +90,17 @@
8190
end
8291

8392
it 'updates a link if it already exists' do
84-
datafile = create :datafile, uuid: datafile_create_id
85-
create :dataset, uuid: package_create_id, datafiles: [datafile]
93+
dataset = Dataset.new(uuid: package_create_id, title: "")
94+
dataset.save(validate: false)
95+
96+
datafile = Datafile.new(dataset: dataset, uuid: datafile_create_id)
97+
datafile.save(validate: false)
8698

8799
expect { subject.perform(package_create_id) }
88100
.to_not(change { Link.count })
101+
102+
expect(datafile.reload.name)
103+
.to eq package_create["result"]["resources"][0]["name"]
89104
end
90105

91106
it 'removes a link if it is not in the package' do

0 commit comments

Comments
 (0)