Use build_relayable_federation_entity helper for receive specs
This commit is contained in:
parent
3ab674552f
commit
283722a693
2 changed files with 20 additions and 26 deletions
|
|
@ -53,8 +53,8 @@ module HelperMethods
|
||||||
|
|
||||||
def build_relayable_federation_entity(type, data={}, additional_data={})
|
def build_relayable_federation_entity(type, data={}, additional_data={})
|
||||||
attributes = Fabricate.attributes_for("#{type}_entity".to_sym, data)
|
attributes = Fabricate.attributes_for("#{type}_entity".to_sym, data)
|
||||||
entity_class = "DiasporaFederation::Entities::#{type.capitalize}".constantize
|
entity_class = "DiasporaFederation::Entities::#{type.to_s.camelize}".constantize
|
||||||
signable_fields = attributes.keys - [:author_signature]
|
signable_fields = attributes.keys - %i[author_signature parent]
|
||||||
|
|
||||||
entity_class.new(attributes, [*signable_fields, *additional_data.keys], additional_data)
|
entity_class.new(attributes, [*signable_fields, *additional_data.keys], additional_data)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -183,17 +183,15 @@ describe Diaspora::Federation::Receive do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe ".like" do
|
describe ".like" do
|
||||||
let(:like_data) {
|
|
||||||
Fabricate.attributes_for(
|
|
||||||
:like_entity,
|
|
||||||
author: sender.diaspora_handle,
|
|
||||||
parent_guid: post.guid,
|
|
||||||
author_signature: "aa"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
let(:like_entity) {
|
let(:like_entity) {
|
||||||
DiasporaFederation::Entities::Like.new(
|
build_relayable_federation_entity(
|
||||||
like_data, [:author, :guid, :parent_guid, :parent_type, :positive, "new_property"], "new_property" => "data"
|
:like,
|
||||||
|
{
|
||||||
|
author: sender.diaspora_handle,
|
||||||
|
parent_guid: post.guid,
|
||||||
|
author_signature: "aa"
|
||||||
|
},
|
||||||
|
"new_property" => "data"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -224,7 +222,7 @@ describe Diaspora::Federation::Receive do
|
||||||
expect(like.signature).not_to be_nil
|
expect(like.signature).not_to be_nil
|
||||||
expect(like.signature.author_signature).to eq("aa")
|
expect(like.signature.author_signature).to eq("aa")
|
||||||
expect(like.signature.additional_data).to eq("new_property" => "data")
|
expect(like.signature.additional_data).to eq("new_property" => "data")
|
||||||
expect(like.signature.order).to eq(%w(author guid parent_guid parent_type positive new_property))
|
expect(like.signature.order).to eq(like_entity.signature_order.map(&:to_s))
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:entity) { like_entity }
|
let(:entity) { like_entity }
|
||||||
|
|
@ -351,19 +349,15 @@ describe Diaspora::Federation::Receive do
|
||||||
|
|
||||||
describe ".poll_participation" do
|
describe ".poll_participation" do
|
||||||
let(:post_with_poll) { FactoryGirl.create(:status_message_with_poll, author: alice.person) }
|
let(:post_with_poll) { FactoryGirl.create(:status_message_with_poll, author: alice.person) }
|
||||||
let(:poll_participation_data) {
|
|
||||||
Fabricate.attributes_for(
|
|
||||||
:poll_participation_entity,
|
|
||||||
author: sender.diaspora_handle,
|
|
||||||
parent_guid: post_with_poll.poll.guid,
|
|
||||||
poll_answer_guid: post_with_poll.poll.poll_answers.first.guid,
|
|
||||||
author_signature: "aa"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
let(:poll_participation_entity) {
|
let(:poll_participation_entity) {
|
||||||
DiasporaFederation::Entities::PollParticipation.new(
|
build_relayable_federation_entity(
|
||||||
poll_participation_data,
|
:poll_participation,
|
||||||
[:author, :guid, :parent_guid, :poll_answer_guid, "new_property"],
|
{
|
||||||
|
author: sender.diaspora_handle,
|
||||||
|
parent_guid: post_with_poll.poll.guid,
|
||||||
|
poll_answer_guid: post_with_poll.poll.poll_answers.first.guid,
|
||||||
|
author_signature: "aa"
|
||||||
|
},
|
||||||
"new_property" => "data"
|
"new_property" => "data"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -395,7 +389,7 @@ describe Diaspora::Federation::Receive do
|
||||||
expect(poll_participation.signature).not_to be_nil
|
expect(poll_participation.signature).not_to be_nil
|
||||||
expect(poll_participation.signature.author_signature).to eq("aa")
|
expect(poll_participation.signature.author_signature).to eq("aa")
|
||||||
expect(poll_participation.signature.additional_data).to eq("new_property" => "data")
|
expect(poll_participation.signature.additional_data).to eq("new_property" => "data")
|
||||||
expect(poll_participation.signature.order).to eq(%w(author guid parent_guid poll_answer_guid new_property))
|
expect(poll_participation.signature.order).to eq(poll_participation_entity.signature_order.map(&:to_s))
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:entity) { poll_participation_entity }
|
let(:entity) { poll_participation_entity }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue