im in ur test stubbin ur mailers

This commit is contained in:
Sarah Mei 2010-10-22 06:22:47 -07:00
parent 6620f33ae2
commit 7e4529f2bd
2 changed files with 56 additions and 45 deletions

View file

@ -6,10 +6,10 @@ require 'spec_helper'
describe PublicsController do describe PublicsController do
render_views render_views
let(:user) {Factory.create :user} let(:user) { Factory.create :user }
let(:user2){Factory.create :user} let(:user2) { Factory.create :user }
let(:aspect1){user.aspect(:name => "foo")} let(:aspect1) { user.aspect(:name => "foo") }
let(:aspect2){user2.aspect(:name => "far")} let(:aspect2) { user2.aspect(:name => "far") }
before do before do
sign_in :user, user sign_in :user, user
end end
@ -77,10 +77,13 @@ describe PublicsController do
end end
describe 'friend requests' do describe 'friend requests' do
let(:aspect2) {user2.aspect(:name => 'disciples')} let(:aspect2) { user2.aspect(:name => 'disciples') }
let!(:req) {user2.send_friend_request_to(user.person, aspect2)} let!(:req) { user2.send_friend_request_to(user.person, aspect2) }
let!(:xml) {user2.salmon(req).xml_for(user.person)} let!(:xml) { user2.salmon(req).xml_for(user.person) }
before do before do
deliverable = Object.new
deliverable.stub!(:deliver)
Notifier.stub!(:new_request).and_return(deliverable)
req.delete req.delete
user2.reload user2.reload
user2.pending_requests.count.should be 1 user2.pending_requests.count.should be 1

View file

@ -5,12 +5,12 @@
require 'spec_helper' require 'spec_helper'
describe Diaspora::Parser do describe Diaspora::Parser do
let(:user) {Factory.create(:user)} let(:user) { Factory.create(:user) }
let(:aspect) {user.aspect(:name => 'spies')} let(:aspect) { user.aspect(:name => 'spies') }
let(:user2) {Factory.create(:user)} let(:user2) { Factory.create(:user) }
let(:aspect2){user2.aspect(:name => "pandas")} let(:aspect2) { user2.aspect(:name => "pandas") }
let(:user3) {Factory.create :user} let(:user3) { Factory.create :user }
let(:person) {user3.person} let(:person) { user3.person }
describe "parsing compliant XML object" do describe "parsing compliant XML object" do
it 'should be able to correctly handle comments with person in db' do it 'should be able to correctly handle comments with person in db' do
@ -45,7 +45,14 @@ describe Diaspora::Parser do
retraction = Retraction.for(message) retraction = Retraction.for(message)
xml = retraction.to_diaspora_xml xml = retraction.to_diaspora_xml
proc {user.receive xml, user2.person}.should change(StatusMessage, :count).by(-1) proc { user.receive xml, user2.person }.should change(StatusMessage, :count).by(-1)
end
context "friending" do
before do
deliverable = Object.new
deliverable.stub!(:deliver)
Notifier.stub!(:new_request).and_return(deliverable)
end end
it "should create a new person upon getting a person request" do it "should create a new person upon getting a person request" do
@ -56,7 +63,7 @@ describe Diaspora::Parser do
user3.destroy user3.destroy
person.destroy person.destroy
user user
lambda {user.receive xml, person}.should change(Person, :count).by(1) lambda { user.receive xml, person }.should change(Person, :count).by(1)
end end
it "should not create a new person if the person is already here" do it "should not create a new person if the person is already here" do
@ -64,7 +71,7 @@ describe Diaspora::Parser do
original_person_id = user2.person.id original_person_id = user2.person.id
xml = request.to_diaspora_xml xml = request.to_diaspora_xml
user user
lambda {user.receive xml, user2.person}.should_not change(Person, :count) lambda { user.receive xml, user2.person }.should_not change(Person, :count)
user2.reload user2.reload
user2.person.reload user2.person.reload
@ -73,9 +80,10 @@ describe Diaspora::Parser do
url = "http://" + request.callback_url.split("/")[2] + "/" url = "http://" + request.callback_url.split("/")[2] + "/"
Person.where(:url => url).first.id.should == original_person_id Person.where(:url => url).first.id.should == original_person_id
end end
end
it "should activate the Person if I initiated a request to that url" do it "should activate the Person if I initiated a request to that url" do
request = user.send_friend_request_to( user3.person, aspect) request = user.send_friend_request_to(user3.person, aspect)
user.reload user.reload
request.reverse_for user3 request.reverse_for user3
@ -99,8 +107,8 @@ describe Diaspora::Parser do
retraction = Retraction.for(user2) retraction = Retraction.for(user2)
retraction_xml = retraction.to_diaspora_xml retraction_xml = retraction.to_diaspora_xml
lambda {user.receive retraction_xml, user2.person}.should change{ lambda { user.receive retraction_xml, user2.person }.should change {
aspect.reload.people.size}.by(-1) aspect.reload.people.size }.by(-1)
end end
it 'should marshal a profile for a person' do it 'should marshal a profile for a person' do