Fixed connecting spec, magic import failure disappearance

This commit is contained in:
Raphael 2011-01-18 16:05:50 -08:00
parent bad7399eeb
commit 6ccf8a4d2d
5 changed files with 50 additions and 41 deletions

View file

@ -59,8 +59,9 @@ describe Aspect do
end
it 'has no uniqueness between users' do
aspect = user.aspects.create(:name => "New Aspect")
aspect2 = user2.aspects.create(:name => aspect.name)
aspect2.valid?.should be_true
aspect2.should be_valid
end
end
@ -76,7 +77,7 @@ describe Aspect do
end
it 'should have contacts' do
aspect.contacts.size.should == 1
aspect.contacts.size.should == 2
end
describe '#aspects_with_person' do

View file

@ -60,6 +60,12 @@ describe Diaspora::UserModules::Connecting do
Request.where(:recipient_id => user.person.id).all.should include @r
end
it 'creates no contact' do
lambda {
received_req = @r.receive(user, person_one)
}.should_not change(Contact, :count)
end
it 'enqueues a mail job' do
Resque.should_receive(:enqueue).with(Jobs::MailRequestReceived, user.id, person.id)
zord = Postzord::Receiver.new(user, :object => @r, :person => person)
@ -131,11 +137,6 @@ describe Diaspora::UserModules::Connecting do
describe 'multiple users accepting/rejecting the same person' do
before do
Request.where(:recipient_id => user.person.id).count.should == 0
user.contacts.empty?.should be true
Request.where(:recipient_id => user2.person.id).count.should == 0
user2.contacts.empty?.should be true
@request1 = Request.diaspora_initialize(:to => user.person, :from => person_one)
@request2 = Request.diaspora_initialize(:to => user2.person, :from => person_one)
@request3 = Request.diaspora_initialize(:to => user2.person, :from => user.person)
@ -214,29 +215,33 @@ describe Diaspora::UserModules::Connecting do
describe 'a user accepting rejecting multiple people' do
before do
@request = Request.diaspora_initialize(:to => user.person, :from => person_one)
@request_two = Request.diaspora_initialize(:to => user.person, :from => person_two)
request = Request.diaspora_initialize(:to => user.person, :from => person_one)
@received_request = request.receive(user, person_one)
end
it "keeps the right counts of contacts" do
received_req = @request.receive(user, person_one)
Request.where(:recipient_id => user.person.id).count.should == 1
user.reload.contacts.size.should be 0
received_req2 = @request_two.receive(user, person_two)
Request.where(:recipient_id => user.person.id).count.should == 2
user.reload.contacts.size.should be 0
user.accept_contact_request received_req, aspect
Request.where(:recipient_id => user.person.id).count.should == 1
user.reload.contacts.size.should be 1
user.contact_for(person_one).should_not be_nil
user.ignore_contact_request received_req2.id
Request.where(:recipient_id => user.person.id).count.should == 0
user.reload.contacts.size.should be 1
user.contact_for(person_two).should be_nil
describe '#accept_contact_request' do
it "deletes the received request" do
lambda {
user.accept_contact_request(@received_request, aspect)
}.should change(Request, :count).by(-1)
end
it "creates a new contact" do
lambda {
user.accept_contact_request(@received_request, aspect)
}.should change(Contact, :count).by(1)
user.contact_for(person_one).should_not be_nil
end
end
describe '#ignore_contact_request' do
it "removes the request" do
lambda {
user.ignore_contact_request(@received_request.id)
}.should change(Request, :count).by(-1)
end
it "creates no new contact" do
lambda {
user.ignore_contact_request(@received_request)
}.should_not change(Contact, :count)
end
end
end

View file

@ -16,9 +16,9 @@ describe User do
describe 'overwriting people' do
it 'does not overwrite old users with factory' do
new_user = Factory.create(:user, :id => user.id)
new_user.persisted?.should be_true
new_user.id.should_not == user.id
lambda {
new_user = Factory.create(:user, :id => user.id)
}.should raise_error ActiveRecord::RecordNotUnique
end
it 'does not overwrite old users with create' do
params = {:username => "ohai",
@ -266,9 +266,9 @@ describe User do
it "only pushes to non-pending contacts" do
connect_users(user, aspect, user2, aspect2)
user.contacts.count.should == 1
user.send_contact_request_to(Factory(:user).person, aspect)
user.contacts.count.should == 2
lambda {
user.send_contact_request_to(Factory(:user).person, aspect)
}.should change(user.contacts, :count).by(1)
m = mock()
m.should_receive(:post)
@ -338,7 +338,9 @@ describe User do
it 'should remove all aspects' do
aspect
lambda {user.destroy}.should change{user.aspects.reload.count}.by(-1)
lambda {
user.destroy
}.should change{ user.aspects(true).count }.by(-2)
end
describe '#remove_person' do
@ -360,9 +362,10 @@ describe User do
describe '#disconnect_everyone' do
it 'should send retractions to remote poeple' do
person = user2.person
user2.delete
user2.person.owner_id = nil
user2.person.save
person.owner_id = nil
person.save
user.activate_contact(user2.person, aspect)
user.should_receive(:disconnect).once

View file

@ -23,10 +23,10 @@ RSpec.configure do |config|
config.mock_with :mocha
config.mock_with :rspec
# config.fixture_path = "#{Rails.root}/spec/fixtures"
# config.global_fixtures = :all
config.use_transactional_fixtures = true
# config.global_fixtures = :all
config.before(:each) do
I18n.locale = :en
RestClient.stub!(:post).and_return(FakeHttpRequest.new(:success))

View file

@ -11,6 +11,6 @@ FixtureBuilder.configure do |fbuilder|
connect_users(bob, bob.aspects.first, alice, alice.aspects.first)
connect_users(bob, bob.aspects.first, eve, eve.aspects.first)
end
end
end