Fixed connecting spec, magic import failure disappearance
This commit is contained in:
parent
bad7399eeb
commit
6ccf8a4d2d
5 changed files with 50 additions and 41 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue