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

Commit 1e161c3

Browse files
authored
Merge pull request #1094 from alphagov/fix-modified-date
Correctly assign updated date to links
2 parents bb8778e + 1d94e1d commit 1e161c3

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

app/services/ckan/v26/link_mapper.rb

+8-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def call(resource, dataset)
77
format: resource.get("format"),
88
name: build_name(resource),
99
created_at: build_created_at(resource, dataset),
10-
updated_at: build_created_at(resource, dataset),
10+
updated_at: build_updated_at(resource, dataset),
1111
type: build_type(resource),
1212
dataset_id: dataset.id,
1313
}
@@ -22,6 +22,13 @@ def build_created_at(resource, dataset)
2222
dataset.created_at
2323
end
2424

25+
def build_updated_at(resource, dataset)
26+
updated = resource.get("metadata_modified")
27+
return updated if updated.present?
28+
29+
dataset.updated_at
30+
end
31+
2532
def build_name(resource)
2633
name = resource.get("name")
2734
description = resource.get("description")

spec/factories/ckan_v26_resource.rb

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
name { "Resource locator" }
66
description { "Resource locator" }
77
created { "2016-04-05T09:48:43.164470" }
8+
metadata_modified { "2017-04-05T09:48:43.164470" }
89
resource_type { "file" }
910

1011
initialize_with do

spec/services/ckan/v26/link_mapper_spec.rb

+7-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
expect(attributes[:format]).to eq resource.get("format")
1313
expect(attributes[:name]).to eq resource.get("name")
1414
expect(attributes[:created_at]).to eq resource.get("created")
15-
expect(attributes[:updated_at]).to eq resource.get("created")
15+
expect(attributes[:updated_at]).to eq resource.get("metadata_modified")
1616
expect(attributes[:type]).to eq "Datafile"
1717
end
1818

@@ -38,7 +38,12 @@
3838
resource = build :ckan_v26_resource, created: ""
3939
attributes = subject.call(resource, dataset)
4040
expect(attributes[:created_at]).to eq dataset.created_at
41-
expect(attributes[:updated_at]).to eq dataset.created_at
41+
end
42+
43+
it "uses the dataset modified time if the resource has none" do
44+
resource = build :ckan_v26_resource, metadata_modified: ""
45+
attributes = subject.call(resource, dataset)
46+
expect(attributes[:updated_at]).to eq dataset.updated_at
4247
end
4348
end
4449
end

0 commit comments

Comments
 (0)