From d84d68d0666965ae9b1a01a7841a49c29ab5ffa4 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 17:52:39 +0200 Subject: [PATCH] Validate that remote_photo_path on Photo entity is an URL with path closes #119 --- .../validators/photo_validator.rb | 2 +- .../validators/photo_validator_spec.rb | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/diaspora_federation/validators/photo_validator.rb b/lib/diaspora_federation/validators/photo_validator.rb index 7c18107..f6f08d3 100644 --- a/lib/diaspora_federation/validators/photo_validator.rb +++ b/lib/diaspora_federation/validators/photo_validator.rb @@ -10,7 +10,7 @@ module DiasporaFederation rule :public, :boolean - rule :remote_photo_path, :not_empty + rule :remote_photo_path, [:not_empty, URI: [:path]] rule :remote_photo_name, :not_empty diff --git a/spec/lib/diaspora_federation/validators/photo_validator_spec.rb b/spec/lib/diaspora_federation/validators/photo_validator_spec.rb index 342ebac..7cc3e16 100644 --- a/spec/lib/diaspora_federation/validators/photo_validator_spec.rb +++ b/spec/lib/diaspora_federation/validators/photo_validator_spec.rb @@ -24,11 +24,17 @@ module DiasporaFederation let(:property) { :public } end - %i[remote_photo_name remote_photo_path].each do |prop| - describe "##{prop}" do - it_behaves_like "a property that mustn't be empty" do - let(:property) { prop } - end + describe "#remote_photo_path" do + let(:property) { :remote_photo_path } + + it_behaves_like "a property that mustn't be empty" + + it_behaves_like "a url path validator" + end + + describe "#remote_photo_name" do + it_behaves_like "a property that mustn't be empty" do + let(:property) { :remote_photo_name } end end