diff --git a/spec/controllers/status_message_controller_spec.rb b/spec/controllers/status_message_controller_spec.rb index 8af383128db5c08bc23a55c65c64649a75dc31df..09b53e5a36c80df11bd0443a0cf735b653c9db89 100644 --- a/spec/controllers/status_message_controller_spec.rb +++ b/spec/controllers/status_message_controller_spec.rb @@ -80,14 +80,11 @@ describe StatusMessagesController do end it 'will not let you destroy posts visible to you' do - user.receive message2.to_diaspora_xml, user2.person - user.visible_posts.include?(message2).should be true delete :destroy, :id => message2.id StatusMessage.find_by_id(message2.id).should_not be_nil end it 'will not let you destory posts you do not own' do - user.visible_posts.include?(message2).should be false delete :destroy, :id => message2.id StatusMessage.find_by_id(message2.id).should_not be_nil end diff --git a/spec/lib/diaspora/parser_spec.rb b/spec/lib/diaspora/parser_spec.rb index 7548bc03be1b11738adea9d24fff5b005265375a..fd363ee4749d6ccbefe419ba0e1bebfbb697c4bd 100644 --- a/spec/lib/diaspora/parser_spec.rb +++ b/spec/lib/diaspora/parser_spec.rb @@ -9,8 +9,7 @@ describe Diaspora::Parser do let(:aspect) { user.aspects.create(:name => 'spies') } let(:user2) { make_user } let(:aspect2) { user2.aspects.create(:name => "pandas") } - let(:user3) { make_user } - let(:person) { user3.person } + let(:person) { Factory.create(:person)} describe "parsing compliant XML object" do it 'should be able to correctly parse comment fields' do @@ -52,21 +51,13 @@ describe Diaspora::Parser do end it "should activate the Person if I initiated a request to that url" do - request = user.send_friend_request_to(user3.person, aspect) - user.reload - reversed = request.reverse_for user3 - - xml = user3.salmon(reversed).xml_for(user.person) - - user3.delete - - user.receive_salmon(xml) - new_person = Person.find_by_url(user3.person.url) - new_person.nil?.should be false - + user.send_friend_request_to(user2.person, aspect) + request = user2.reload.pending_requests.find_by_destination_url!(user2.receive_url) + user2.accept_and_respond(request.id, aspect2.id) + user.reload aspect.reload - new_contact = user.contact_for(new_person) + new_contact = user.contact_for(user2.person) aspect.people.include?(new_contact).should be true user.friends.include?(new_contact).should be true end diff --git a/spec/models/aspect_spec.rb b/spec/models/aspect_spec.rb index 682a06c8b8b5904d913366f83e94ed6f5e59cc85..7b875879a778e6494843fd7aec36626d8f97e4d8 100644 --- a/spec/models/aspect_spec.rb +++ b/spec/models/aspect_spec.rb @@ -120,8 +120,6 @@ describe Aspect do message = user2.post(:status_message, :message => "Hey Dude", :to => aspect2.id) - user.receive message.to_diaspora_xml, user2.person - aspect.reload aspect.posts.include?(message).should be true user.visible_posts(:by_members_of => aspect).include?(message).should be true @@ -134,14 +132,9 @@ describe Aspect do message = user2.post(:status_message, :message => "Hey Dude", :to => aspect2.id) - user.receive message.to_diaspora_xml, user2.person - aspect.reload - - aspect.post_ids.include?(message.id).should be true + aspect.reload.post_ids.include?(message.id).should be true retraction = user2.retract(message) - user.receive retraction.to_diaspora_xml, user2.person - aspect.reload aspect.post_ids.include?(message.id).should be false @@ -195,11 +188,9 @@ describe Aspect do context 'moving and removing posts' do - let(:message) { user2.post(:status_message, :message => "Hey Dude", :to => aspect2.id)} - let(:message2){user3.post(:status_message, :message => "other post", :to => aspect3.id)} before do - user.receive message.to_diaspora_xml, user2.person + @message = user2.post(:status_message, :message => "Hey Dude", :to => aspect2.id) aspect.reload @post_count = aspect.posts.count @post_count1 = aspect1.posts.count @@ -208,9 +199,9 @@ describe Aspect do end it 'moves the persons posts into the new aspect' do - user.add_person_to_aspect(user2.person.id, aspect1.id, :posts => [message] ) + user.add_person_to_aspect(user2.person.id, aspect1.id, :posts => [@message] ) aspect1.reload - aspect1.posts.should == [message] + aspect1.posts.should == [@message] end @@ -222,10 +213,9 @@ describe Aspect do it 'should not delete other peoples posts' do friend_users(user, aspect, user3, aspect3) - user.receive message2.to_diaspora_xml, user3.person - user.delete_person_from_aspect(user2.person.id, aspect.id) + user.delete_person_from_aspect(user3.person.id, aspect.id) aspect.reload - aspect.posts.should == [message2] + aspect.posts.should == [@message] end describe '#move_friend' do diff --git a/spec/models/request_spec.rb b/spec/models/request_spec.rb index 096baf59531f5d827aeacf2ed523c1448aee7b77..d6801a175d8e57616c3490230e220e277f85a280 100644 --- a/spec/models/request_spec.rb +++ b/spec/models/request_spec.rb @@ -5,9 +5,9 @@ require 'spec_helper' describe Request do - let(:user) { make_user } - let(:user2) { make_user} - let(:person) {Factory :person} + let(:user) { make_user } + let(:user2) { make_user } + let(:person) { Factory :person } let(:aspect) { user.aspects.create(:name => "dudes") } let(:request){ user.send_friend_request_to user2.person, aspect } @@ -30,22 +30,19 @@ describe Request do describe '#request_from_me' do it 'recognizes requests from me' do request - user.reload - user.request_from_me?(request).should be true + user.request_from_me?(request).should be_true end it 'recognized when a request is not from me' do - user2.receive_salmon(user.salmon(request).xml_for(user2.person)) - user2.reload - user2.request_from_me?(request).should == false + user2.request_from_me?(request).should be_false end end context 'quering request through user' do it 'finds requests for that user' do - len = user2.requests_for_me.size - user2.receive_salmon(user.salmon(request).xml_for(user2.person)) - user2.reload.requests_for_me.size.should == len + 1 + request + user2.reload + user2.requests_for_me.detect{|r| r.callback_url == user.receive_url}.should_not be_nil end end diff --git a/spec/models/user/receive_spec.rb b/spec/models/user/receive_spec.rb index e7c7b67f95eb01ea1c9efdf7ce0ba4ba2bb6a521..e6af5765e6c40063f9179f034ead5b7e03b6e47f 100644 --- a/spec/models/user/receive_spec.rb +++ b/spec/models/user/receive_spec.rb @@ -15,8 +15,6 @@ describe User do let(:user3) { make_user } let(:aspect3) { user3.aspects.create(:name => 'heroes') } - let!(:status) {user.post(:status_message, :message => "Original", :to => aspect.id)} - let(:photo) {user.post(:photo, :user_file => uploaded_photo, :caption => "Original", :to => aspect.id)} before do friend_users(user, aspect, user2, aspect2) @@ -43,11 +41,9 @@ describe User do it 'should not create new aspects on message receive' do num_aspects = user.aspects.size - (0..5).each{ |n| + 2.times do |n| status_message = user2.post :status_message, :message => "store this #{n}!", :to => aspect2.id - xml = status_message.to_diaspora_xml - user.receive xml, user2.person - } + end user.aspects.size.should == num_aspects end @@ -56,33 +52,28 @@ describe User do it 'should handle the case where the webfinger fails' do Person.should_receive(:by_account_identifier).and_return("not a person") - proc{user2.receive_salmon(user.salmon(status).xml_for(user2.person))}.should_not raise_error + proc{ + user2.post :status_message, :message => "store this!", :to => aspect2.id + }.should_not raise_error end end context 'update posts' do it 'does not update posts not marked as mutable' do - user2.receive_salmon(user.salmon(status).xml_for(user2.person)) + status = user.post :status_message, :message => "store this!", :to => aspect.id status.message = 'foo' - xml = user.salmon(status).xml_for(user2.person) - - status.reload.message.should == 'Original' - - user2.receive_salmon(xml) + xml = status.to_diaspora_xml + user2.receive(xml, user.person) - status.reload.message.should == 'Original' + status.reload.message.should == 'store this!' end it 'updates posts marked as mutable' do - user2.receive_salmon(user.salmon(photo).xml_for(user2.person)) + photo = user.post(:photo, :user_file => uploaded_photo, :caption => "Original", :to => aspect.id) photo.caption = 'foo' - xml = user.salmon(photo).xml_for(user2.person) - - photo.reload.caption.should match(/Original/) - - user2.receive_salmon(xml) - + xml = photo.to_diaspora_xml + user2.reload.receive(xml, user.person) photo.reload.caption.should match(/foo/) end @@ -103,7 +94,7 @@ describe User do it 'should be removed on unfriending' do user.unfriend(user2.person) user.reload - user.raw_visible_posts.count.should == 1 + user.raw_visible_posts.should_not include @status_message end it 'should be remove a post if the noone links to it' do @@ -145,7 +136,7 @@ describe User do @comment = user3.comment('tada',:on => @post) @comment.post_creator_signature = @comment.sign_with_key(user.encryption_key) - @xml = user.salmon(@comment).xml_for(user2.person) + @xml = @comment.to_diaspora_xml @comment.delete end @@ -155,7 +146,7 @@ describe User do user2.reload.raw_visible_posts.size.should == 1 post_in_db = user2.raw_visible_posts.first post_in_db.comments.should == [] - user2.receive_salmon(@xml) + user2.receive(@xml, user.person) post_in_db.reload post_in_db.comments.include?(@comment).should be true @@ -168,14 +159,14 @@ describe User do user3.delete #stubs async webfinger - Person.should_receive(:by_account_identifier).twice.and_return{ |handle| if handle == user.person.diaspora_handle; user.person.save + Person.should_receive(:by_account_identifier).and_return{ |handle| if handle == user.person.diaspora_handle; user.person.save user.person; else; remote_person.save; remote_person; end } user2.reload.raw_visible_posts.size.should == 1 post_in_db = user2.raw_visible_posts.first post_in_db.comments.should == [] - user2.receive_salmon(@xml) + user2.receive(@xml, user.person) post_in_db.reload post_in_db.comments.include?(@comment).should be true