diff --git a/lib/diaspora/federated/retraction.rb b/lib/diaspora/federated/retraction.rb index b9c73dd5e..756b94f32 100644 --- a/lib/diaspora/federated/retraction.rb +++ b/lib/diaspora/federated/retraction.rb @@ -31,7 +31,7 @@ class Retraction end def public? - data[:target][:public] + data[:target] && data[:target][:public] end private diff --git a/spec/lib/diaspora/federated/retraction_spec.rb b/spec/lib/diaspora/federated/retraction_spec.rb index 3dad77b2f..864b03203 100644 --- a/spec/lib/diaspora/federated/retraction_spec.rb +++ b/spec/lib/diaspora/federated/retraction_spec.rb @@ -40,7 +40,7 @@ describe Retraction do end it "creates a retraction for a contact" do - contact = FactoryGirl.create(:contact) + contact = FactoryGirl.build(:contact, receiving: false) expect(Diaspora::Federation::Entities).to receive(:retraction_data_for).with(contact) @@ -156,5 +156,10 @@ describe Retraction do private_post = alice.post(:status_message, text: "destroy!", to: alice.aspects.first.id) expect(Retraction.for(private_post).public?).to be_falsey end + + it "returns false for a contact retraction" do + contact = FactoryGirl.create(:contact, receiving: false) + expect(Retraction.for(contact).public?).to be_falsey + end end end